Antwort schreiben  Thema schreiben 
Verfasser Nachricht
thewolf16
King
*


Beiträge: 2.087
Gruppe: User
Registriert seit: Oct 2009

Status: Offline
Danke erhalten: 1336
Beitrag: #1
xPSP  Codeschnippsel Erklärung?

Hi

Und zwar hab ich ein paar Fragen zu der Scriptsprache "Lua". Und zwar bin ich jetzt mit allen Tutorials bei lua.bumuckl.com durch und habe ein paar Sachen noch nicht ganz verstanden:

1.:

Code:
function printAllLines(datei,color)
        y=10
        zeilen = {}
        datei = io.open(datei,"r")
        for line in datei:lines() do
            zeilen[line] = line
                        y=y+10
            screen:print(0,y,zeilen[line],color)
        end
        datei:close()
    end


Diesem Codeschnippsel hat er nicht weiter erklärt, er ist ja eigentlich recht gut verständlich aber ...

Code:
for line in datei:lines() do
            zeilen[line] = line
                        y=y+10
            screen:print(0,y,zeilen[line],color)


...kapier ich nun garnicht. Kann mir da mal jemand genau jede einzelne Zeile erklären?

Das nächste wäre folgendes.

2.:

Der Macher der Lua Tutorials hat ja die ganzen io-Commands erklärt:

Code:
r - Lesemodus (read mode)
    w - Schreibmodus, überschreibt kompletten Inhalt (write mode)
    a - Fügt zum existierenden Inhalt hinzu (append mode)
    b - Binärmodus (binary mode)
    r+ - Updatemodus (existierende Daten bleiben)
    w+ - Updatemodus(existierende Daten bleiben)
    a+ - Zufüg -und Updatemodus (existierende Daten bleiben, fügt nur am Ende hinzu)


Allerdings wird mir nicht erklärt was der Unterschied zwischen "w" und "w+" oder "r" und "r+" oder "a" und "a+" ist. Was kann man mit w,r oder a nicht machen was man mit w+, r+ oder a+ machen kann?

Dann als nächstes:

3.:

Code:
color=Color.new(255,255,255)
    add = 0
    
    System.irdaInit()
    
    while true do
        remote = System.irdaRead()
        remotelength = string.len(remote)
        
        screen:print(0,0,add,color)
        
        if remotelength>1 then
            add = add+1
        end
        
        screen.flip()
        screen.waitVblankStart()
    end


Muss da bei...

Code:
if remotelength>1 then


nicht "remotelength>0" hin?

Der nächste Code zur nächsten Frage ist folgender:

4.:

Code:
    weiss = Color.new(255,255,255) --definiert die farbe weiss
    schwarz = Color.new(0,0,0) --definiert die farbe weiss
    
    malflaeche = Image.createEmpty(480,272) --erstellt ein neues, leeres Bild mit 480x272 Pixeln
    malflaeche:clear(weiss) --färbt das Bild "malflaeche" weiss
    
    cursor = Image.load("cursor.png") --lädt das Bild "cursor.png" in die Variable cursor
    cursor_x = 100 --Variable mit dem Wert 100, später unsere X-Position des Cursors
    cursor_y = 100 --Variable mit dem Wert 100, später unsere Y-Position des Cursors
    
    while true do --Mainloop
        pad = Controls.read() --DPad-Code...muss man nicht verstehen. Fragen bitte ins Forum posten
        
        dx = pad:analogX()
        dy = pad:analogY()
        
        if dx > 30 then
            cursor_x = cursor_x + (math.abs(pad:analogX())/64)
        end
        if dx < -30 then
            cursor_x = cursor_x - (math.abs(pad:analogX())/64)
        end
        if dy > 30 then
            cursor_y = cursor_y + (math.abs(pad:analogY())/64)
        end
        if dy < -30 then
            cursor_y = cursor_y - (math.abs(pad:analogY())/64)
        end --DPad-Code ENDE
        
        screen:blit(0,0,malflaeche) --zeigt die Malfläche an
        screen:blit(cursor_x, cursor_y, cursor, true) --zeigt das cursor auf cursor_x und cursor_y an
        
        if pad:cross() then
            malflaeche:drawLine(cursor_x, cursor_y,cursor_x, cursor_y,schwarz)
        end
        
        screen.flip()
        screen.waitVblankStart()
    end


Warum will man von jedem die Absolute Zahl haben? Das wär doch nur bei If-Schleife 2 und 4 notwendig aber doch nicht auch bei 1 und 3, oder? Und warum durch 64? Ist das etwa die Zahl die dann letztendlich den Speed angibt und kann man die auch zu z.B. 80 ändern und dadurch wird der Cursor nur langsamer? Und was genau macht die...

Code:
malflaeche:drawLine(cursor_x, cursor_y,cursor_x, cursor_y,schwarz)


...Funktion?Ich weiß nur dass sie eine Linie zeichnet aber warum stehen die Variablen doppelt drin, ist etwa das erste cursor_x und cursor_y der Anfang der Linie und das zweite cursor_x und cursor_y das Ende der Linie?

Meine nächste Frage wäre dann noch folgende:

6.:

Ich weiß zwar dass es z.B. heißt

Code:
screen:print(1,1,"Hallo PSPKing.",white)

und/oder

screen.flip()


Aber wann nimmt man Doppelpunkt und wann den normalen Punkt nach z.B. Screen und welchen Grund gibt es dafür?

Meine nächste Frage wäre:

7.:

Immer wenn ich einen 3D Luacode (also der "3D Gu" Code enthält" über meinen Luaplayer für Windows abspielen will dann kommt nur ein schwarzer Bildschirm. Wenn ich allerdings noch screen.flip() anhänge kommt ein pinker flackernder Bildschirm aber kein 3D-Dreieck. Liegt dies an dem Luaplayer oder am Code? Über der PSP hab ich es noch nicht probiert. Der Code stammt übrigens komplett von lua.bumuckl.com.

Meine letzte Frage lautet:

8.:

Ist dieser Code nicht falsch?:

Code:
bild = Image.load("wasweissich.png")
    
    while true do
        screen:blit(0,0,bild,true)
        screen.waitVblankStart()
        screen:flip()
    end


Eigentlich müsste doch erst screen:flip() und dann erst screen.waitVblankStart() kommen ansonsten dürfte doch sonst nichts angezeigt werden da die Definition wo das Bild angezeigt werden soll (screen:blit()) von screen.waitVblankStart() bevor es von screen.flip() auf dem Bildschirm angezeigt wird "gelöscht" wird. Ich habe versucht den Code auszuführen und er klappt einwandfrei, wieso?

Ich hoffe es waren nicht zu viele Fragen und es kann mir jemand helfen.

MfG

thewolf16


Ich bin ein Klarträumer, du auch? Bitte schaut im Klartraum-Thread vorbei und hinterlasst eure Meinungen und Erfahrungen zu dem Thema:

http://www.pspking.de/forum/showthread.php?tid=53865&pid=616750&#pid616750

Wenn auch du ein (zukünftiger) Klarträumer bist dann pack dies in deine Signatur!

Dieser Beitrag wurde zuletzt bearbeitet: 26.10.2011 07:12 von thewolf16.

26.10.2011 05:38
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
thewolf16
King
*


Beiträge: 2.087
Gruppe: User
Registriert seit: Oct 2009

Status: Offline
Danke erhalten: 1336
Beitrag: #2
RE: Codeschnippsel Erklärung?

Und deshalb suche ich jemanden der mehr wie Bahnhof versteht. Big Grin


Ich bin ein Klarträumer, du auch? Bitte schaut im Klartraum-Thread vorbei und hinterlasst eure Meinungen und Erfahrungen zu dem Thema:

http://www.pspking.de/forum/showthread.php?tid=53865&pid=616750&#pid616750

Wenn auch du ein (zukünftiger) Klarträumer bist dann pack dies in deine Signatur!
26.10.2011 18:48
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Pain1Akatsuki
Experte
****


Beiträge: 532
Gruppe: User
Registriert seit: May 2011

Status: Offline
Danke erhalten: 110
Beitrag: #3
xPSP  RE: Codeschnippsel Erklärung?

8. ist richtig.

Edit: P.S. ich code auf eine ganz andere Art.
Mit mActual und so Wink


Simon Desue :
Hä, schwör, hab jetzt flash0 gelöscht, aber die psp geht nicht mehr an!
Wie soll ich jetzt isos zocken?

_______________________________________
http://gdlnk.co/159j

Dieser Beitrag wurde zuletzt bearbeitet: 27.10.2011 15:02 von Pain1Akatsuki.

27.10.2011 15:00
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Kuppalus
Neuling
*


Beiträge: 6
Gruppe: User
Registriert seit: Oct 2011

Status: Offline
Danke erhalten: 0
Beitrag: #4
xPSP  RE: Codeschnippsel Erklärung?

Die Lua-Szene stirbt aus ...

27.10.2011 16:27
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
thewolf16
King
*


Beiträge: 2.087
Gruppe: User
Registriert seit: Oct 2009

Status: Offline
Danke erhalten: 1336
Beitrag: #5
RE: Codeschnippsel Erklärung?

Sieht leider so aus. Sad


Ich bin ein Klarträumer, du auch? Bitte schaut im Klartraum-Thread vorbei und hinterlasst eure Meinungen und Erfahrungen zu dem Thema:

http://www.pspking.de/forum/showthread.php?tid=53865&pid=616750&#pid616750

Wenn auch du ein (zukünftiger) Klarträumer bist dann pack dies in deine Signatur!
27.10.2011 16:41
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
davdda
Captain Morgan
*


Beiträge: 2.482
Gruppe: User
Registriert seit: Dec 2010

Status: Abwesend
Danke erhalten: 1220
Beitrag: #6
RE: Codeschnippsel Erklärung?

Ist doch gut :O
Lua hat einfach sehr begrenzte Möglichkeiten, lernt lieber eine Programmiersprache!
Sollte jetzt kein Flame sein Wink

27.10.2011 17:02
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
thewolf16
King
*


Beiträge: 2.087
Gruppe: User
Registriert seit: Oct 2009

Status: Offline
Danke erhalten: 1336
Beitrag: #7
RE: Codeschnippsel Erklärung?

Ich brauch aber Lua auch u.a. für Gmod10 und MTA San Andreas Server. Wäre sehr nett wenn jemand doch noch meine Fragen ausführlich beantworten könnte. Wenn ich das alles rausbekommen habe dann kann ich dann nämlich hier mein erstes Lua Homebrew ankündigen was ich schon in Planung hab (Wer mir hilft wird mit in den Credits erwähnt).


Ich bin ein Klarträumer, du auch? Bitte schaut im Klartraum-Thread vorbei und hinterlasst eure Meinungen und Erfahrungen zu dem Thema:

http://www.pspking.de/forum/showthread.php?tid=53865&pid=616750&#pid616750

Wenn auch du ein (zukünftiger) Klarträumer bist dann pack dies in deine Signatur!

Dieser Beitrag wurde zuletzt bearbeitet: 28.10.2011 11:55 von thewolf16.

28.10.2011 11:54
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Antwort schreiben  Thema schreiben 

Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
xPSP LUA - Codeschnippsel und Erklärung -Media5- 10 2.110 28.10.2010 21:24
Letzter Beitrag: WinterFrost

Druckversion anzeigen
Thema einem Freund senden
Thema abonnieren | Thema zu den Favoriten hinzufügen




» zum Seitenanfang