AngelScript: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Botcrux (discussione | contributi)
m Bot: aggiungo template {{Collegamenti esterni}} (ref)
Correzioni sintattiche e grammaticale; verificare la veridicità della fonti
Riga 15:
}}
 
'''AngelScript''' è un [[linguaggio di scripting]] [[Compilatore|compilato]] [[open source]], pensato per lo sviluppo di videogiochi e, sviluppato da Andreas Jönsson per l'azienda AngelCode.
 
AngelScript è caratterizzato da una [[Sistema dei tipi|tipizzazione]] statica, un [[Programmazione orientata agli oggetti|orientamento agli oggetti]] (simili ai puntatori [[C++]], ma con un [[garbage collection]] che usa la tecnica del [[Reference counting|conteggio dei riferimenti]]), [[Ereditarietà (informatica)|ereditarietà]] singola ed [[ereditarietà multipla]] con interfacce, nonché la possibilità di gestire un overload degli operatori. AngelScript può essere utilizzato con qualsiasi IDE pensato per C++, come [[NetBeans]], [[Geany]] ed [[Eclipse IDE|Eclipse]].
 
all'interno di un ambiente AngelScript si possono utilizzare nativamente le funzioni C e C++.<ref>{{Cita web|url=http://www.iue.tuwien.ac.at/pdf/ib_2010/CP2010_Weinbub_1.pdf|titolo="ViennaIPD - An Input Control Language for Scientific Computing"|autore=Josef Weinbub|autore2=Karl Rupp|autore3=Selberherr|autore4=Siegfried|data=2010|lingua=en|formato=PDF|accesso=27 aprile 2019}}</ref><ref>{{Cita web|url=http://accu.org/index.php/journals/1608|titolo="Simplifying the C++/Angelscript Binding Process"|autore=Stuart Golodetz|sito=ACCU|data=febbraio 2010|lingua=en|accesso=27 aprile 2019}}</ref> La sintassi della [[Classe (informatica)|classe]] di AngelScript è identica a quelle delle [[C++#Definizione di Classe|classi di C++]] in base alla progettazione. Non sono necessarie funzioni proxy per incorporare AngelScript nelle applicazioni C++ facilitando l'integrazione dei due linguaggi.<ref>{{Cita libro|nome=Michael|cognome=Dickheiser|titolo=Game Programming Gems 6|url=https://archive.org/details/gameprogrammingg0000unse_e9q4|anno=2006|editore=[[Don Schechter#Charles River Media Group|Charles River Media]]|ISBN=1584504501}}</ref>
Riga 27:
* Tutti i metodi (inclusi [[Costruttore (informatica)|costruttori]] e [[Distruttore (informatica)|distruttori]]) sono [[Funzione virtuale|virtuali]].
 
AngelScript è utilizzato nello sviluppo di videogiochi,<ref>{{Cita pubblicazione|autore=Taketoshi Nishimori|autore2=Yasushi Kuno|anno=2012|mese=Maggio|titolo=Join token: A language mechanism for programming interactive games|rivista=Entertainment Computing|volume=3|pp=19-25|doi=10.1016/j.entcom.2011.09.001|url=https://tsukuba.repo.nii.ac.jp/?action=repository_action_common_download&item_id=33964&item_no=1&attribute_id=17&file_no=1}}</ref> inclusialcuni esempi sono ''[[Amnesia: The Dark Descent]]'',<ref name="official-list">{{Cita web|url=http://angelcode.com/angelscript/users.html|titolo=Applications using AngelScript|sito=AngelCode|dataaccesso=April 27, 2019}}</ref> ''[[Amy (videogioco)|Amy]]'',<ref name="official-list" /> ''[[Dustforce]]'',<ref name="official-list" /> ''[[penumbra: Overture|Penumbra: Ouverture]]'',<ref name="official-list" /> ''[[Penumbra: Requiem]]'',<ref name="official-list" /> ''[[Puddle]]'',<ref name="official-list" /> ''[[Sine Mora]]'',<ref name="official-list" /> ''[[SuperTuxKart]]'',<ref name="official-list" /> ''[[Warhammer: Mark of Chaos]]'',<ref name="official-list" /> ''[[Warsow (videogioco)|Warsow]]''<ref name="official-list" /> e ''[[Jazz Jackrabbit 2|Jazz Jackrabbit 2 Plus]]'',<ref name="official-list" /> oltre ad essere supportato come linguaggio di scripting in ''Urho3D''.
 
[[Hazelight Studios]], inoltre ha sviluppato un plugin che integra AngelScript nell'Unreal [[Unreal Engine|Engine]]; questo è stato utilizzato nel [[2022]] per scrivere il loro gioco, ''[[It Takes Two (videogioco)|It Takes Two]]'', in AngelScript.<ref>{{Cita web|url=https://github.com/Hazelight/UnrealEngine-Angelscript|titolo=Hazelight/UnrealEngine-Angelscript on GitHub|sito=[[GitHub]]|accesso=15 settembre 2021|dataaccesso=}}</ref> il plugin verrà utilizzato anche da Embark Studios nei loro prossimi giochi ''The Finals'' e ''ARC Raiders''.<ref>{{Cita web|url=https://careers.embark-studios.com/en-GB/jobs/1161763-senior-gameplay-programmer-games/ed57c5e4-f694-4bb6-9683-534edf92e029?utm_campaign=page_1916407_cta_17398026&utm_content=https://careers.embark-studios.com/pages/gameplay-at-embark&utm_medium=cta-block&utm_source=teamtailor-page|titolo=Senior Gameplay Programmer - Games|sito=Embark Studios|lingua=en|dataaccesso=2023-11-23}}</ref>
 
Un altro esempio di utilizzo è il programma interattivo di animazione 3D dell'[[Università di Ulma|Università di Ulm]].<ref>{{Cita web|url=http://graphics.uni-ulm.de/lehre/showcases/animation/0405/index.php|titolo=Animal Race|sito=[[University of Ulm]]|lingua=de|dataaccesso=2013-05-31}}</ref> Nell'ambito della [[robotica]], invece, si usa per programmare regole comportamentali di agenti robotici.<ref name="BrandoffSayama2009">{{Cita conferenza|titolo=Cultural transmission in robotic swarms through RFID cards|conferenza=IEEE Symposium on Artificial Life|DOI=10.1109/ALIFE.2009.4937709|anno=2009|isbn=978-1-4244-2763-5}}</ref>