ciao a tutti, oggi ho provato ad avvicinarmi a questo nuovo linguaggio e mi è stato consigliato questo SDK dopo aver provato dei semplici programmi, ho provato a scrivere un piccolo gioco che funziona in questo modo: ho scelto due loghi, ogni secondo dovrebbe apparire uno dei due loghi in una posizione casuale, se si distrugge(cliccandolo) il logo1 si perde 1 punto, se invece si distrugge il logo2 si guadagna 1 punto, il gioco va avanti finchè non si ragiungono i 10 punti(vittoria) o i -10 punti(sconfitta).
nelle prime prove sono riuscito a far funzionare il punteggio, ma da quando ho provato ad aggiungere le altre caratteristiche(apparizione loghi e condizione di fine) c'è un problema: lo schermo pare non aggiornarsi più e i due loghi vengono disegnati solo dopo 5 iterazioni (condizione posta da me per provare).
vi posto il codice:
codice:
local logo1=display.newImage("logo1.png")
logo1.x=display.contentWidth/2
logo1.y=display.contentHeight/2
logo1.isVisible=true
local logo2=display.newImage("logo2.png")
logo2.x=display.contentWidth/4
logo2.y=display.contentHeight/4
logo2.isVisible=true
local p=0 --punteggio
local pText=display.newText(p, 0, 0, nil, 30)
function logo1:tap( event )
media.playEventSound("logo1.mp3")
p=p-1
pText.text=p
end
function logo2:tap( event)
media.playEventSound("logo2.mp3")
p=p+1
pText.text=p
end
logo1:addEventListener( "tap", logo1 )
logo2:addEventListener( "tap", logo2)
function wait(seconds)
local start = os.time()
repeat until os.time() > start + seconds
end
function logo1Visible(event)
transition.to( logo1, { time=1000, alpha=1, x=math.random(0, 300), y=math.random(0, 500) } )
print(logo1.x)
print(logo1.y)
logo1.isVisible=true
wait(1)
logo1.isVisible=false
end
function logo2Visible(event)
transition.to( logo2, { time=1000, alpha=1, x=math.random(0, 300), y=math.random(0, 500) } )
print(logo2.x)
print(logo2.y)
logo2.isVisible=true
wait(1)
logo2.isVisible=false
end
local i=0
while (p>-10 and p<10) and i<5 do
if math.random(2)==1 then
logo1Visible()
else
logo2Visible()
end
i=i+1
end
if p<=-10 then
local endText=display.newText("HAI PERSO!!!", display.contentWidth/4, display.contentHeight/2, nil, 70)
else
local endText=display.newText("HAI VINTO!!!", display.contentWidth/4, display.contentHeight/2, nil, 70)
end
qual'è il problema?
PS scusate se il codice è un pochino rozzo, ma sono proprio alle prime armi, e non riesco a trovare un buona guida in italiano....