KINGx - Das inoffizielle PlayStation Forum & News Portal

Normale Version: brauche unterstützung zu lua !!!
Sie sehen gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
hallo zusammen
brauche hilfe bei lua


ich wollte mal ausprobiren,
ob man 2 bilder mit tasten einbinden kann.
Hier ist der quellcode zu lua, es funktioniert, aber es flimmert
weiß einer wieso das so ist ?
ich habe den lua player von pspking heruntergeladen und ob jemand weiß ob das die aktuelleste lua programm ist
es soll bei X bild anzeigen und bei O (O für kreis) anzeigen
gibt es keiene der mir helfen kann


farbe = Color.new(255,0,255)
farbe2 = Color.new(255,0,255)
bild = Image.load("bg.png")
bild2 = Image.load("bg2.png")
a = 6
b = 4
c = a*b

function kreuz()
screen:blit(0,0,bild,true)
end

function kreis()
screen:blit(0,0,bild2,true)
end


while true do
pad = Controls.read()

if pad:cross() then
screenTonguerint(50,50, "Es funktioniert!",farbe2)
screen:blit(0,0,bild,false)
kreuz()
if pad:circle() then
screen:blit(0,0,bild2,false)
kreis()

screen.waitVblankStart()
end


screenTonguerint(1,1,a*b+c, farbe)
screen.flip()
screen.waitVblankStart()
end
screen.flip()
screen.waitVblankStart()
end



wäre sehr dank bar
Normalerweiße würde das doch schon reichen:

bild = Image.load("bg.png")
bild2 = Image.load("bg2.png")
Taste = Controls.read()

while true do
if Taste:cross() then
screen:blit(1,1,bg.png,true)
screen.flip()
screen.waitVblankStart()

if Taste:circle() then
screen:blit(1,1,bg2.png,true)
screen.flip()
screen.waitVblankStart()
end
end

@Die Luacoder: wenn da irwas falsch ist, sry hab selbst schon lange lange lange nichts mehr mit Lua zutun gehabt, und auch wo ich das noch hatte, war ich eher ein noob.

mfg
Für den Anfang ein zeimlich komplizierter Code!
Respekt erstmal dafür...

Ich würde es so machen:

farbe1 = Color.new(100,0,0)
farbe2 = Color.new(245,0,10)
bg1 = Image.load("bg.png")
bg2 = Image.load("bg2.png")

while true do
screen:clear(farbe1)
pad = Controls.read()
if pad:cross() then
dofile("kreuz.lua")
--In der kreuz.lua steht: bg1 = Image.load("bg.png")
while true do
end screen:blit(0,0,bg1)
if pad:circle() then screen:flip()
screen.waitVblankStart()
dofile("kreis.lua") -- hier das selbe nur mit bg2^^
screen:flip()
screen.waitVblankStart()
end
end


Sorry das es so unverständlich erklärt is Big Grin
Hö, es ist nicht unbedingt nötig 2 Lua-Scripte zu laden Salz, das verlangsamt den Player nur unnötig Wink

Es wird wohl wirklich an dem Screenclear() liegen. Denn es wird jedes mal schnell im Wechsel erst das eine Bild und dann das andere angezeigt. Außerdem finde ich, dass die Schleife etwas komisch geschrieben wurde (die Hauptschleife)

Besser wäre es so:

Zitat:
farbe = Color.new(255,0,255)
farbe2 = Color.new(255,0,255)
bild = Image.load("bg.png")
bild2 = Image.load("bg2.png")
a = 6
b = 4
c = a*b

function kreuz()
screen:blit(0,0,bild,true)
end

function kreis()
screen:blit(0,0,bild2,true)
end


while true do
pad = Controls.read()

if pad:cross() then
screenTonguerint(50,50, "Es funktioniert!",farbe2)
screen:blit(0,0,bild,false)
kreuz()
if pad:circle() then
screen:blit(0,0,bild2,false)
kreis()
end
screenTonguerint(1,1,a*b+c, farbe)
end
screen.flip()
screen.waitVblankStart()
end


Es ist besser wenn du das "screen:flip()" (übrigens mit einem Doppelpunkt und keinem Punkt) und das screen.waitVblankStart() in die Hauptschleife und damit nur ein einziges mal schreibst. Vielleicht flimmerte es auch deshalb.

Lies dir sonst noch einmal dieses Tut durch: KLICK!

Gruß,
Sunny

Ach; Das meinte ich doch^^
Hatte mal das selbe Problem, hab das 2te screen.waitVblankStart() weggemacht und das screen:clear()
weg, dann gehts! Wink
ich habe es jetzt so gemacht (Salz du hast doch gesagt wenn man screen.waitVblankStart() weg macht und statt dessen screen:clear()
kommt bei nur schwarzer Bildschirm auf der console.

farbe = Color.new(255,0,255)
farbe2 = Color.new(255,0,255)
bild = Image.load("bg.png")
bild2 = Image.load("bg2.png")
bild3 = Image.load("bg3.png")
bild4 = Image.load("bg4.png")

a = 6
b = 4
c = a*b

function kreuz()
screen:blit(0,0,bild,true)
end

function kreis()
screen:blit(0,0,bild2,true)
end

function dreieck()
screen:blit(0,0,bild3,true)
end

function viereck()
screen:blit(0,0,bild4,true)
end

function musik()
Music.playFile(0,0,"The Crack.mp3",true)
end



while true do
screenTonguerint(20,20,"The Crack.mp3", farbe2)
screenTonguerint(100,100,"Es funktioniert!", farbe2)
screenTonguerint(200,200,"Es funktioniert!", farbe2)
pad = Controls.read()
Mp3.load("The Crack.mp3")
Mp3.play()
if pad:cross() then
screen:blit(0,0,bild,false)
kreuz()
elseif pad:circle() then
screen:blit(0,0,bild2,false)
kreis()
elseif pad:triangle() then
screen:blit(0,0,bild3,false)
dreieck()
elseif pad:square() then
screen:blit(0,0,bild4,false)
viereck()
end
screenTonguerint(1,1,a*b+c, farbe)
screen.flip()
screen.waitVblankStart()
end

es flakert zum teil nicht so oft , wenn man erst c drückt und dann leicht die taste f dann kommt mal vor das es mal auch flackert das gleiche geht bei den andern auch.

PS:ich habe noch dazu ein lied eingefügt absichtlich beim lied ist kein problem es soll nur abspielen.
Referenz-URLs