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:
qual'è il problema?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
PS scusate se il codice è un pochino rozzo, ma sono proprio alle prime armi, e non riesco a trovare un buona guida in italiano....

Rispondi quotando