KINGx - Das inoffizielle PlayStation Forum & News Portal

Normale Version: Lua-Fehler oder Denk-Fehler?
Sie sehen gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Das ergibt bei mirn bug aber warum?

Zitat:
--Variable-----------------------------------------------------

CPU = System.setcpuspeed(333)

pad=Controls.read()

S1=Image.load("IMAGES/1.png")
S2=Image.load("IMAGES/2.png")
S3=Image.load("IMAGES/3.png")
S4=Image.load("IMAGES/4.png")
S5=Image.load("IMAGES/5.png")
S6=Image.load("IMAGES/6.png")

selected=1
maxselected=6

--Funktione----------------------------------------------------

function play()

Mp3.load(FILE)
Mp3.play()
System.sleep(1100)
Mp3.stop()
System.sleep(320)

end

--MAIN----------------------------------------------------------

while true do

if padBig Grinown() and oldpadBig Grinown() ~= padBig Grinown() then

selected = selected-1

end

if pad:up() and oldpad:up() ~= pad:up() then

selected = selected+1

end

if pad:left() then

dofile ("SCRIPTS/Elektro.lua")

end


if selected > maxselected then

selected=1

elseif selected <=0 then

selected=maxselected

end


if selected==1 then

screen:clear()
screen:blit(0,0,S1)
screen.flip()

end


if selected==2 then

screen:clear()
screen:blit(0,0,S2)
screen.flip()

end


if selected==3 then

screen:clear()
screen:blit(0,0,S3)
screen.flip()

end


if selected==4 then

screen:clear()
screen:blit(0,0,S4)
screen.flip()

end


if selected==5 then

screen:clear()
screen:blit(0,0,S5)
screen.flip()

end


if selected==6 then

screen:clear()
screen:blit(0,0,S6)
screen.flip()

end

--MAIN-2---------------------------------------------------

if pad:cross() and oldpad:cross() ~= pad:cross() and selected==1 then

FILE="SOUNDS/1.mp3"
play()

end


if pad:cross() and oldpad:cross() ~= pad:cross() and selected==2 then

FILE="SOUNDS/2.mp3"
play()

end


if pad:cross() and oldpad:cross() ~= pad:cross() and selected==3 then

FILE="SOUNDS/3.mp3"
play()

end


if pad:cross() and oldpad:cross() ~= pad:cross() and selected==4 then

FILE="SOUNDS/4.mp3"
play()

end


if pad:cross() and oldpad:cross() ~= pad:cross() and selected==5 then

FILE="SOUNDS/5.mp3"
play()

end


if pad:cross() and oldpad:cross() ~= pad:cross() and selected==6 then

FILE="SOUNDS/6.mp3"
play()

end


oldpad = pad

end

--END-----------------------------------------------------------




Es erscheint einfach nur das Bild [S1]...


Hilfe!

wie wärs wennde nen gescheiden thradtitel benutzt?

Code:
if pad:up() and oldpad:up() ~= pad:up() then


Das kommt mir zwar ein wenig strange vor, aber so gut kenn ich Lua nicht, ich weiss nich wie das da gehandhabt wird.
Was ich allerdings anders machen würde ist, die "selected"-Variable mehrmals abzufragen. Also wie ich das meine:

Du machst es so:

Code:
if selected==6 then

screen:clear()
screen:blit(0,0,S6)
screen.flip()

end

--------------------------

if pad:cross() and oldpad:cross() ~= pad:cross() and selected==6 then

FILE="SOUNDS/6.mp3"
play()

end


Ich würde die Button abfrage einfach in die selected-Abfrage einfügen:

Code:
if selected==6 then

screen:clear()
screen:blit(0,0,S6)
screen.flip()

     if pad:cross() and oldpad:cross() ~= pad:cross() then

     FILE="SOUNDS/6.mp3"
     play()

     end

end


Das ist jedenfall eleganter, ob es auch dein Problem löst kann ich dir nicht sagen, aber probier es erstmal so, vllt. hilft das ja schon.

es geht immer noch nicht

EDIT: pad=Controls.read() mus immer for While true do stehen xD
Referenz-URLs