<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=AngelScript</id>
	<title>AngelScript - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=AngelScript"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=AngelScript&amp;action=history"/>
	<updated>2026-05-16T22:33:59Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=AngelScript&amp;diff=2365522&amp;oldid=prev</id>
		<title>imported&gt;Pcanterino: Änderung 265565083 von Ayniar rückgängig gemacht; Bitte in Wikidata ändern</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=AngelScript&amp;diff=2365522&amp;oldid=prev"/>
		<updated>2026-04-23T18:17:27Z</updated>

		<summary type="html">&lt;p&gt;Änderung &lt;a href=&quot;/index.php/Spezial:Diff/265565083&quot; title=&quot;Spezial:Diff/265565083&quot;&gt;265565083&lt;/a&gt; von &lt;a href=&quot;/index.php/Spezial:Beitr%C3%A4ge/Ayniar&quot; title=&quot;Spezial:Beiträge/Ayniar&quot;&gt;Ayniar&lt;/a&gt; rückgängig gemacht; Bitte in Wikidata ändern&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Infobox Programmiersprache&lt;br /&gt;
| Name                         = &lt;br /&gt;
| Logo                         = [[Datei:Aslogo.png]]&lt;br /&gt;
| Beschreibung                 = &lt;br /&gt;
| Paradigma                    = [[Objektorientierung|objektorientiert]]&amp;lt;br /&amp;gt;[[Imperative Programmierung|imperativ]]&amp;lt;br /&amp;gt;[[Strukturierte Programmierung|strukturiert]]&amp;lt;br /&amp;gt;[[Funktionale Programmierung|funktional]]&lt;br /&gt;
| Erscheinungsjahr             = &amp;lt;!-- Wikidata --&amp;gt;&lt;br /&gt;
| Designer                     = &lt;br /&gt;
| Entwickler                   = Andreas Jönsson&amp;lt;ref&amp;gt;[http://www.angelcode.com/angelscript/credits.html Liste aller Entwickler]&amp;lt;/ref&amp;gt;&lt;br /&gt;
| AktuelleVersion              = &amp;lt;!-- Wikidata --&amp;gt;&lt;br /&gt;
| AktuelleVersionFreigabeDatum = &amp;lt;!-- Wikidata --&amp;gt;&lt;br /&gt;
| AktuelleVorabVersion         = &lt;br /&gt;
| AktuelleVorabVersionFreigabeDatum = &lt;br /&gt;
| Typisierung                  = statisch&lt;br /&gt;
| Implementierung              = AngelScript-Compiler (c++ und assembly library)&lt;br /&gt;
| Dialekte                     = &lt;br /&gt;
| Standardisierungen           = &lt;br /&gt;
| Beeinflusst_von              = [[C (Programmiersprache)|C]], [[C++]]&lt;br /&gt;
| Beeinflusste                 = &lt;br /&gt;
| Betriebssystem               = [[Plattformunabhängigkeit|plattformunabhängig]]&lt;br /&gt;
| Lizenz                       = [[zlib-Lizenz]]&lt;br /&gt;
| Website                      = [http://www.angelcode.com/angelscript/ angelcode.com/angelscript]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;AngelScript&amp;#039;&amp;#039;&amp;#039; (kurz &amp;#039;&amp;#039;&amp;#039;AS&amp;#039;&amp;#039;&amp;#039;) ist eine [[Skriptsprache]], die sich stark an [[C++]] orientiert. Sie wurde speziell als Erweiterung für [[C (Programmiersprache)|C]]- und C++-Programme entworfen und wird hauptsächlich in [[Computerspiel]]en bzw. deren zugrundeliegenden [[Spiel-Engine|Engines]] verwendet. Über die [[Programmierschnittstelle]] (API) von AngelScript lassen sich AngelScript-Programme in C++-Programme einbinden. AngelScript ist [[Open Source]], wird unter der freien [[zlib-Lizenz]] verteilt und ist zu vielen [[Betriebssystem]]en und [[Compiler]]n kompatibel.&lt;br /&gt;
&lt;br /&gt;
== Sprache ==&lt;br /&gt;
Da AngelScript speziell zur Verwendung mit C++ ausgelegt ist, orientiert es sich stark daran. So unterstützt AngelScript die gleichen elementaren [[Datentypen]] (&amp;#039;&amp;#039;int&amp;#039;&amp;#039;, &amp;#039;&amp;#039;bool&amp;#039;&amp;#039;, …), ist [[Objektorientierung|objektorientiert]] und verwendet eine fast identische [[Syntax]] wie C++. Es existieren jedoch auch einige Unterschiede zu C++:&lt;br /&gt;
&lt;br /&gt;
* Der [[Zeiger (Informatik)|Pointeroperator]] &amp;#039;&amp;#039;*&amp;#039;&amp;#039; aus C++ existiert nicht, stattdessen gibt es den &amp;#039;&amp;#039;@&amp;#039;&amp;#039;-Operator, der allerdings ähnlich funktioniert&lt;br /&gt;
* nur &amp;#039;&amp;#039;public&amp;#039;&amp;#039; und &amp;#039;&amp;#039;private&amp;#039;&amp;#039; als [[Zugriffsmodifikator]]en (in C++ zusätzlich noch &amp;#039;&amp;#039;protected&amp;#039;&amp;#039;)&lt;br /&gt;
* Klassen können nur von einer Basisklasse erben (in C++ von beliebig vielen)&lt;br /&gt;
* Klassenfunktionen sind automatisch &amp;#039;&amp;#039;virtual&amp;#039;&amp;#039; (in C++ muss dies explizit gekennzeichnet werden)&lt;br /&gt;
&lt;br /&gt;
AngelScript-Quelltext wird üblicherweise in &amp;#039;&amp;#039;.as&amp;#039;&amp;#039;-Dateien gespeichert. Ein Beispiel für eine einfache &amp;#039;&amp;#039;.as&amp;#039;&amp;#039;-Datei zeigt folgender Beispiel-Quelltext.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
//Datei &amp;quot;beispiel.as&amp;quot;&lt;br /&gt;
&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
    //Variablendeklarationen, -initialisationen und -operationen wie in C++&lt;br /&gt;
    int a = 5;&lt;br /&gt;
    ++a;&lt;br /&gt;
    int b = a + 3;&lt;br /&gt;
&lt;br /&gt;
    if(b == 9)&lt;br /&gt;
    {&lt;br /&gt;
        /* wurde die Funktion print(string) vorher im C++-Quelltext registriert,&lt;br /&gt;
         * so wird sie jetzt aus AS heraus aufgerufen&lt;br /&gt;
         */&lt;br /&gt;
        print(&amp;quot;Hello world\n&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Verwendung ==&lt;br /&gt;
Eingesetzt wird AngelScript in vielen Computerspielen, unter anderem &amp;#039;&amp;#039;[[Amnesia: The Dark Descent]]&amp;#039;&amp;#039;, der &amp;#039;&amp;#039;[[Penumbra (Computerspielreihe)|Penumbra]]&amp;#039;&amp;#039;-Reihe, &amp;#039;&amp;#039;[[Warsow (Computerspiel)|Warsow]]&amp;#039;&amp;#039;, &amp;#039;&amp;#039;[[Warhammer: Mark of Chaos]], [[SuperTuxKart]]&amp;#039;&amp;#039; und vielen weiteren großen und kleinen Projekten.&amp;lt;ref&amp;gt;[http://www.angelcode.com/angelscript/users.html Unvollständige Liste von AngelScript verwendender Software]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Einbindung in vorhandenen C++-Quelltext geschieht durch „Registrierung“ der C++-Funktionen und -Klassen an der AngelScript-Engine. Folgender Beispielquelltext gibt ein Beispiel zur Registrierung einer [[Klasse (Objektorientierung)|Klasse]] &amp;#039;&amp;#039;Auto&amp;#039;&amp;#039; mit seinen Methoden &amp;#039;&amp;#039;starten()&amp;#039;&amp;#039; und &amp;#039;&amp;#039;bremsen()&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
//Datei beispiel.cpp&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;angelscript.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
class Auto&lt;br /&gt;
{&lt;br /&gt;
    public:&lt;br /&gt;
        void starten(){};&lt;br /&gt;
        void bremsen(){};&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
    asIScriptEngine *engine = asCreateScriptEngine(ANGELSCRIPT_VERSION);&lt;br /&gt;
&lt;br /&gt;
    engine-&amp;gt;RegisterObjectType(&amp;quot;Auto&amp;quot;, 0, asOBJ_REF);&lt;br /&gt;
&lt;br /&gt;
    engine-&amp;gt;RegisterObjectMethod(&amp;quot;Auto&amp;quot;, &amp;quot;void starten()&amp;quot;, asMETHOD(Auto,starten), asCALL_THISCALL);&lt;br /&gt;
    engine-&amp;gt;RegisterObjectMethod(&amp;quot;Auto&amp;quot;, &amp;quot;void bremsen()&amp;quot;, asMETHOD(Auto,bremsen), asCALL_THISCALL);&lt;br /&gt;
&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Auf ähnliche Weise lassen sich auch globale Funktionen registrieren.&lt;br /&gt;
&lt;br /&gt;
== Entwicklung ==&lt;br /&gt;
Im unregelmäßigen Abständen erscheinen neue Versionen mit Fehlerbeseitigungen und neuen Funktionen.&amp;lt;ref&amp;gt;{{Internetquelle |url=http://www.angelcode.com/angelscript/changes.php |titel=AngelScript Changes |hrsg=AngelCode.com |abruf=2018-12-28}}&amp;lt;/ref&amp;gt; Da der Quelltext frei zugänglich ist, umfasst die Liste der Entwickler neben dem Hauptprogrammierer viele Freiwillige, die sich an der Entwicklung und Verbesserung der Sprache und der API beteiligt haben.&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [http://www.angelcode.com/angelscript/ AngelScript-Website]&lt;br /&gt;
* [http://www.angelcode.com/angelscript/sdk/docs/manual/index.html AngelScript-Handbuch]&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Skriptsprache]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Pcanterino</name></author>
	</entry>
</feed>