INFO CAMBIO IMMAGINE

Salve a tutti, mi presento: sono Marcello nuovo nello sviluppo di applicazioni mobile e sopratutto nuovo in Corona Lab. Arrivo subito al dunque: sto cercando di sviluppare una piccola applicazione, ho inserito uno sfondo e un bottone, vorrei ora che al click del bottone cambiasse l’immagine play.png con l’immagine pause.png. posto il codice.

Con questo codice praticamente mi inserisce l’immagine pause.png su quella play.png consigli? grazie in anticipo

display.setStatusBar( display.HiddenStatusBar ) -- nascondo la status Bar --sfondo applicazione local sfondo = display.newImage("sfondo.png") --imposto l'immagine a tutto schermo sfondo.x = display.contentCenterX sfondo.y = display.contentCenterY --inserisco il bottone formato dal simbolo play pause e dallo sfondo del bottone --sfondo bottone con dimensioni 200 - 200 - visible true local sfbottone = display.newImage("sf-bottone.png", 200, 200, true) sfbottone.x = display.contentCenterX sfbottone.y = display.contentCenterX + 130 --bottone play local bottoneplay = display.newImage("play.png", 70, 88, true) bottoneplay.x = display.contentCenterX bottoneplay.y = display.contentCenterX + 130 function play()   --funzione play riproduci il file   bottoneplay = display.newImage("pause.png", 70, 88, true)   bottoneplay.x = display.contentCenterX   bottoneplay.y = display.contentCenterX + 130 end function pause()   --pause end bottoneplay:addEventListener("touch", play)

Ciao Marcello
Ti rispondo dal telefono e mi viene difficile scrivere codice.
potresti creare un gruppo con dispay.newGroup() , inserirci entrambe le immagini e al touch (assegnato al gruppo) mostrarne una e nascondere l’altra.

Ok, Grazie mille, trovo il codice per assegnare ai gruppi… Ti faccio sapere, grazie per il momento

Questo può essere un esempio (non testato)

-- un display group che contiene tutto il pulsante local bottone = display.newGroup() -- muovendo il display group i 'figli' si muovono con lui bottone.x = display.contentCenterX bottone.y = display.contentCenterX + 130 -- crei i displayObject con le immagini local sfbottone = display.newImage("sf-bottone.png", 200, 200, true) -- play img local playImage = display.newImage("play.png", 70, 88, true) -- pause img local pauseImage = display.newImage("pause.png", 70, 88, true) -- e li inserisci nel displayGroup bottone:insert(sfbottone) bottone:insert(playImage) bottone:insert(pauseImage) -- nascondi la pausa pauseImage.alpha = 0 -- dichiaro la funzione pause qui per poterci accedere nella funzione play local pause function play(event) -- l'evento touch viene invocato tre volte, con tre fasi differenti -- "began", "moved" e "ended" -- scegli sempre in quale fase vuoi che venga eseguito il codice if event.phase == "began" then --funzione play riproduci il file playImage.alpha = 0 pauseImage.alpha = 1 end -- qui "stacco" il touch che simula il play bottone:removeEventListener("touch", play) -- e "attacco" la pausa bottone:addEventListener("touch", pause) -- non propagare il touch ad altri elementi return true end function pause() --pause if event.phase == "began" then playImage.alpha = 1 pauseImage.alpha = 0 end bottone:removeEventListener("touch", pause) bottone:addEventListener("touch", play) return true end -- primo touch bottone:addEventListener("touch", play)

Ciao Marcello
Ti rispondo dal telefono e mi viene difficile scrivere codice.
potresti creare un gruppo con dispay.newGroup() , inserirci entrambe le immagini e al touch (assegnato al gruppo) mostrarne una e nascondere l’altra.

Ok, Grazie mille, trovo il codice per assegnare ai gruppi… Ti faccio sapere, grazie per il momento

Questo può essere un esempio (non testato)

-- un display group che contiene tutto il pulsante local bottone = display.newGroup() -- muovendo il display group i 'figli' si muovono con lui bottone.x = display.contentCenterX bottone.y = display.contentCenterX + 130 -- crei i displayObject con le immagini local sfbottone = display.newImage("sf-bottone.png", 200, 200, true) -- play img local playImage = display.newImage("play.png", 70, 88, true) -- pause img local pauseImage = display.newImage("pause.png", 70, 88, true) -- e li inserisci nel displayGroup bottone:insert(sfbottone) bottone:insert(playImage) bottone:insert(pauseImage) -- nascondi la pausa pauseImage.alpha = 0 -- dichiaro la funzione pause qui per poterci accedere nella funzione play local pause function play(event) -- l'evento touch viene invocato tre volte, con tre fasi differenti -- "began", "moved" e "ended" -- scegli sempre in quale fase vuoi che venga eseguito il codice if event.phase == "began" then --funzione play riproduci il file playImage.alpha = 0 pauseImage.alpha = 1 end -- qui "stacco" il touch che simula il play bottone:removeEventListener("touch", play) -- e "attacco" la pausa bottone:addEventListener("touch", pause) -- non propagare il touch ad altri elementi return true end function pause() --pause if event.phase == "began" then playImage.alpha = 1 pauseImage.alpha = 0 end bottone:removeEventListener("touch", pause) bottone:addEventListener("touch", play) return true end -- primo touch bottone:addEventListener("touch", play)