2013-04-11 7 views
1

나는 다음과 같은 링크Gideros GTween 이벤트 리스너

Gideros GTween with Easing

예는 상자 밖으로 작동하지 않습니다에서 GTween 예를 시도하고, 그래서 GTween의 소스 코드에 파고와 추가 이벤트 디스패치를 ​​허용하기 위해 예제에 줄을 따라야한다.

local tween = GTween.new(jewel, 2, animProperties, gtweenProperties) 
tween.suppressEvents = false -- New Line #1 
tween.dispatchEvents = true -- New Line #2 
tween:addEventListener('complete', function() 
    stage:removeChild(jewel) 
    jewel = nil 
end) 

그러나 앱이 다운됩니다. (왜 그것을 것, 분명히?) 그러나 콜백이 호출되지 않습니다, 나는 gtween.lua

self:dispatchEvent(Event.new(name)) 

에 다음 줄을 주석 시도하고 응용 프로그램이 충돌하지 않습니다

이것은 응용 프로그램에서 스택 추적입니다 .

gtween.lua:445: attempt to call method 'dispatchEvent' (a boolean value) 
stack traceback: 
    gtween.lua:445: in function 'dispatchEvt' 
    gtween.lua:255: in function 'setPosition' 
    gtween.lua:86: in function <gtween.lua:74> 

모든 포인터가 크게 감사하겠습니다. 감사.

추신 : 이것이 Gideros의 버그인지 잘 모르겠습니다.

답변

1

그냥 최신 Gideros 'gtween (10 일 전에 편집됨에 유의)을 사용하여이 샘플을 사용했습니다 (링크에서 샘플을 가져 와서 스프라이트 정의를 추가하고 프로젝트에 이미지 파일도 포함). 그것은 작동한다 (콜백이 불린다) :

local animate = {} 
animate.y = 100 
animate.x = 100 
animate.alpha = 0.5 
animate.scaleX = 0.5 
animate.scaleY = 0.5 
animate.rotation = math.random(0, 360) 
local properties = {} 
properties.delay = 0 
properties.ease = easing.inElastic 
properties.dispatchEvents = true 

local sprite = Bitmap.new(Texture.new("box.png")) -- ADD THIS 
stage:addChild(sprite) -- ADD THIS 
local tween = GTween.new(sprite, 10, animate, properties) 

tween:addEventListener("complete", function() 
    stage:removeChild(sprite) 
    sprite = nil 
end) 
+0

안녕하세요, 나는 예제를 복사 해 보았습니다. 시간 내 줘서 고마워. –