function executes twice

Hi Folks,

I have the following code, the problem is, it executes twice, i.e the print shows 2 times that bubbletv is called.

So the transition does not function correctly.
Any ideas. Thx

[lua]-------------------------TV Code--------------------------------
– Functon for TV Press

local function bubbletvOn()
print(“bubbletv on called”)

tvBubbleGroup.isVisible = true
transition.from(tvBubbleGroup, {time = 4200, x = 200, y = 5, transition = easingx.easeOutElastic})
timer.performWithDelay( 5000, bubbletvOff )
end

function bubbletvOff()
print(“bubbletv off called”)
–transition.from(tvBubbleGroup, {time = 2200, alpha = 0})
tvBubbleGroup.isVisible = false
end
local tvOutput = sprite.newSpriteSheetFromData( “tvOutput.png”, require(“tvOutput”).getSpriteSheetData() )

spriteSet = sprite.newSpriteSet(tvOutput,1,153)

sprite.add(spriteSet,“tvPicture”,1,70,3000,1)
local function spriteEvent(pEvent)
if pEvent.phase == “ended” then
print(“sprite ended”)
pEvent.sprite:removeEventListener(“sprite”, spriteEvent)
pEvent.sprite:removeSelf()
end
end

function tvButton:touch(pEvent)
print(“tv pressed”)
local spriteInstance1 = sprite.newSprite(spriteSet)

spriteInstance1:setReferencePoint(display.CenterReferencePoint)
spriteInstance1.x = 530
spriteInstance1.y = 300
spriteInstance1:prepare(“tvPicture”)
spriteInstance1:play()
–spriteInstance1:addEventListener(“sprite”,spriteEvent)
timer.performWithDelay( 4000, bubbletvOn )
end

tvButton:addEventListener(“touch”, tvButton);
[/lua] [import]uid: 131058 topic_id: 22907 reply_id: 322907[/import]

The touch event is fired whenever you touch the object, move your finger on the object or lift your finger off the object.

So you need to amend your code to:

[lua]function tvButton:touch(event)

if event.phase == “ended” then
print(“tv pressed”)
local spriteInstance1 = sprite.newSprite(spriteSet)

spriteInstance1:setReferencePoint(display.CenterReferencePoint)
spriteInstance1.x = 530
spriteInstance1.y = 300
spriteInstance1:prepare(“tvPicture”)
spriteInstance1:play()
–spriteInstance1:addEventListener(“sprite”,spriteEvent)
timer.performWithDelay( 4000, bubbletvOn )
end

end [/lua] [import]uid: 93133 topic_id: 22907 reply_id: 91499[/import]

Thanks, that worked [import]uid: 131058 topic_id: 22907 reply_id: 91516[/import]