JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=ce1477b73bff557ff5a330ab70176af2Medaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Erste Schritte mit Lua
Gehe zu Seite 1, 2  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Hazel
JLI MVP
JLI MVP


Alter: 39
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 27.10.2002, 17:30    Titel: Erste Schritte mit Lua Antworten mit Zitat

Ich sitze jetzt schon seit geraumer Zeit an diesem Problem: Ich kann Programme, die die Lua API benutzen nicht compilieren. :(
Als Fehler kriege ich 4 unaufeglöste, externe Symbole(eben die lua_* Funktionen). Die korrekten Libs habe ich mir auch gesaugt und eingebunden. Weiß jemand weiter?
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Christian Rousselle
Site Admin


Alter: 48
Anmeldedatum: 19.07.2002
Beiträge: 1630

Medaillen: Keine

BeitragVerfasst am: 27.10.2002, 19:27    Titel: Antworten mit Zitat

Brauchst du vielleicht ein extern "c" {} im die Funktionen/Header?

Christian
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Hazel
JLI MVP
JLI MVP


Alter: 39
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 27.10.2002, 19:38    Titel: Antworten mit Zitat

Jepp. Klappt jetzt. Meine Lua Konsole ist nur noch'n bisschen komisch:

Code:

a = {1, 2, 3} -- Funktioniert nicht
a={1,2,3} -- Funktioniert


Woran kann das liegen? Bei der Shell die dabei war geht die erste Variante...

Und wenn ich "lua_ioliboben()" aufrufe kriege ich wieder 'n Haufen Fehler... Sacre bleu!
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Hazel
JLI MVP
JLI MVP


Alter: 39
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 27.10.2002, 20:00    Titel: Antworten mit Zitat

Okay, das erste Problem hab ich selber in den Griff gekriegt Wink
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Hazel
JLI MVP
JLI MVP


Alter: 39
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 27.10.2002, 20:31    Titel: Antworten mit Zitat

Okay, hat sich ganz erledigt, lol
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
AFE-GmdG
JLI MVP
JLI MVP


Alter: 45
Anmeldedatum: 19.07.2002
Beiträge: 1374
Wohnort: Irgendwo im Universum...
Medaillen: Keine

BeitragVerfasst am: 28.10.2002, 09:25    Titel: Antworten mit Zitat

Was soll die Lua-API denn sein? Wofür ist die gut - ist das 1. mal, daß ich davonb höre

AFE-GmdG
_________________
CPP:
float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;}
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Starwash
Senior JLI'ler


Alter: 40
Anmeldedatum: 22.09.2002
Beiträge: 252
Wohnort: Zossen (bei Berlin)
Medaillen: Keine

BeitragVerfasst am: 28.10.2002, 09:32    Titel: Antworten mit Zitat

Ja, erklär mal bitte kurz, was die Lua-API ist...ich hab nie etwas zuvor von gehört.
Danke & Gruss Tarek
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Hazel
JLI MVP
JLI MVP


Alter: 39
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 28.10.2002, 14:15    Titel: Antworten mit Zitat

www.lua.org

Lua ist erstmal eine Scriptspache. Werde die für meine Spiele benutzen Wink
Wenn man schon programmieren kann, ist sie einfach... Hab weniger als 'ne Stunde gebraucht, um das Grundwissen zu lernen.
Die Sprache hat viele kleine, nette Spielzeuge, wie z.b. Nested Tables(sehr gut für Speicherstände!) und Funktionen können mehr als einen Wert zurückgeben. Und sowas geht auch Wink
Code:

x, y = y, x -- Werte vertauschen

Das Geniale ist auch, dass Variablen keinen Typ besitzen, sondern nur ihre Werte.
Code:

> a = 10
> print(type(a))
number
> a = {1, 2, 3}
> print(type(a))
table
> a = function print("Test") end
> print(type(a))
function
> a()
Test


Naja... geht 'ne Menge mit und kann weitaus mehr, als die die ich selber gemacht haben Wink
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Starwash
Senior JLI'ler


Alter: 40
Anmeldedatum: 22.09.2002
Beiträge: 252
Wohnort: Zossen (bei Berlin)
Medaillen: Keine

BeitragVerfasst am: 28.10.2002, 15:14    Titel: Antworten mit Zitat

Keine Typen?
Ich halte Sprachen ohne Variablentypen nicht gerade für sonderlich sinnvoll....das habe ich zugenüge bei mir in der Schule gesehen bei Fragen wie "warum kann mein Integer nicht 3.5 speicher" usw. Leuten, die sich auskennen, wie dir mag es nix ausmachen, aber ehrlich gesagt bestehe ich auf meine Typen....mein klassen und meine struct und union definitionen =)
Nukja, das mit demWerte vertauschen ist finde ich absolute spielerei...das kann man auch anders ohne großen aufwand regeln...
Das einzig interessante sind die Funktionen, die mehrere Werte zurückgeben können und nuja, in C++ geht das zwar auch, aber anfänger ist es meist nicht gerade verständlich, warum man Pointer benötigt.
Und wie sieht es mit der geschwindigkeit aus? Wenn du die für deine Spiele benutzen willst, sollte die ordentlich schnell sein.
Also alles in allem denke ich, dass sie nicht die beste Sprache für Anfänger ist, für fortgeschrittene / Profis wie dich vielleicht, aber anfänger sollten unbeding von Anfang an an Variablentypen gewöhnt sein.

Gruss Tarek
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Hazel
JLI MVP
JLI MVP


Alter: 39
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 28.10.2002, 15:35    Titel: Antworten mit Zitat

Das mit den Typen stimmt schon, aber wenn eine Variable einen Wert hat, kann man den Typen ja mit der Funktion "type()" erhalten. Außerdem muss ich die Sprache ja mit meinen eigenen Befehlen erweitern und schreibe ich in C++, also muss man auf die Typen doch aufpassen und ungültige Parameter erkennen.

> aber ehrlich gesagt bestehe ich auf meine Typen....mein klassen und
> meine struct und union definitionen =)

Lua kann zwar nicht OOP, man kann dies aber mit den Tables simulieren. Wink

Und wie gesagt... ich hab gestern Nacht nur das Grundwissen gelernt. Ich denke, es gibt noch jede Menge mehr zu lernen Wink hier mal ein Zitat aus Lua 5:

Zitat:

Lua 5.0 has excellent coroutine (or latent function or whatever you call it) support, which is very important for game scripting.

Tja... was ist das? Wofür brauch ich das? ;P

> Und wie sieht es mit der geschwindigkeit aus? Wenn du die für deine
> Spiele benutzen willst, sollte die ordentlich schnell sein.
Darüber mach ich mir keine Gedanken mehr. Such mal auf SourceForge und Freshmeat nach Engines... da sind jede Menge dabei, die Python und Lua unterstützen... manchmal sogar Tcl.
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Starwash
Senior JLI'ler


Alter: 40
Anmeldedatum: 22.09.2002
Beiträge: 252
Wohnort: Zossen (bei Berlin)
Medaillen: Keine

BeitragVerfasst am: 29.10.2002, 10:11    Titel: Antworten mit Zitat

Hi,
nach genaueren Nachvorschungen muss ich sagen, dass Lua äußerst interessant klingt und für ein Spiel von mir bestens geeignet ist =)
Aber sagt mal habe ich mich verlesen oder hat Lua so wie Java einen Garbage Collector?

Findet man eigentlich irgendwo Tutorials über Lua mal abgesehen von der eigentlichen Hp? Ich hab nämlich leider keine gefunden.

Gruss Tarek
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Hazel
JLI MVP
JLI MVP


Alter: 39
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 29.10.2002, 16:01    Titel: Antworten mit Zitat

Jepp. Lua hat 'nen Garbage Collector. Mit 2 simplen API Funktionen kann man drauf zugreifen.

http://www.redloop.com/larsde/articles/lua.php

Der erste Link den ich mit Google per "Lua Tutorial" gefunden hab Razz
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Starwash
Senior JLI'ler


Alter: 40
Anmeldedatum: 22.09.2002
Beiträge: 252
Wohnort: Zossen (bei Berlin)
Medaillen: Keine

BeitragVerfasst am: 29.10.2002, 16:58    Titel: Antworten mit Zitat

Danke, hatte die Google-Verzeichnisse gewelzt und da zwar auch einiges zu Lua gefunden, aber irgendwie hat keiner der Links so richtig funktioniert.

Gruss Tarek
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
TheMillenium
Dark JLI'ler



Anmeldedatum: 21.07.2002
Beiträge: 1427
Wohnort: World
Medaillen: Keine

BeitragVerfasst am: 29.10.2002, 17:49    Titel: Antworten mit Zitat

Das ist ja so wie PHP, schön und einfach am ANfang, wenn's aber in's Detail geht dann merkst du erst, das es mit (ANSI) C++ viel schöner und eleganter geht und für mich ist das normale C++ auch verstä#ndiger und übersichtlicher...ist meine Meinung....und mehrere Schnittstellen verlangsamen doch das Programm...Beispiel bei DirectX: RM und IM
_________________
The source of all power is in its destiny...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Hazel
JLI MVP
JLI MVP


Alter: 39
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 29.10.2002, 18:33    Titel: Antworten mit Zitat

Zitat:

Das ist ja so wie PHP, schön und einfach am ANfang, wenn's aber in's Detail geht ...

Das ist bei allen Sprachen so. Außerdem kommt es drauf an, wofür man Lua verwendet. Sieht das etwa kompliziert aus? Wink
Code:

-- Spieler an Mausposition spawnen
x = bio_getmousex()
y = bio_getmousey()
bio_spawn("player", x, y)


Zitat:

dann merkst du erst, das es mit (ANSI) C++ viel schöner und eleganter geht und für mich ist das normale C++ auch verstä#ndiger und übersichtlicher..

Du weißt anscheinend noch nicht, wofür man Scripte benutzt... und zwar zum einfachen erweitern des Hauptprogramms, ohne neu kompilieren zu müssen. Außerdem muss man dann nicht Details mit in die Engine einbauen...das können dann die Designer machen und zwar speziell für jeden Level.

Zitat:

und mehrere Schnittstellen verlangsamen doch das Programm...Beispiel bei DirectX: RM und IM

Wenn du mal suchen gehst, wirst du feststellen, dass Lua geraden wegen der Geschwindigkeit gut für Spiele geeignet ist. Außerdem kann man das nicht mit Direct3D IM und RM vergleichen... das sind 2 verschieden Schuhe(mal davon abgesehen, dass RM schon lange rausgeworfen wurde).
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung Alle Zeiten sind GMT
Gehe zu Seite 1, 2  Weiter
Seite 1 von 2

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum