Jump to content

[TOPIC: topicViewTemplate]
[GLOBAL: userSmallPhoto]
Photo

INFO CAMBIO IMMAGINE
Started by marcellofioredj Jun 14 2016 10:02 AM

3 replies to this topic
immagini bottoni image button function
[TOPIC CONTROLS]
This topic has been archived. This means that you cannot reply to this topic.
[/TOPIC CONTROLS]
[modOptionsDropdown]
[/modOptionsDropdown]
[reputationFilter]
[TOPIC: post.html]
#1

marcellofioredj

[GLOBAL: userInfoPane.html]
marcellofioredj
  • Observer

  • 3 posts
  • Corona SDK

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)


[TOPIC: post.html]
#2

Arteficio

[GLOBAL: userInfoPane.html]
Arteficio
  • Enthusiast

  • 83 posts
  • Corona SDK

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.

[TOPIC: post.html]
#3

marcellofioredj

[GLOBAL: userInfoPane.html]
marcellofioredj
  • Observer

  • 3 posts
  • Corona SDK

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

[TOPIC: post.html]
#4

Arteficio

[GLOBAL: userInfoPane.html]
Arteficio
  • Enthusiast

  • 83 posts
  • Corona SDK

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)



[topic_controls]
[/topic_controls]