1
我有一個應用程序,它使用Tween
方法生成許多動畫。其中充斥着的是:使用GCC進行調試時END enum的問題ARM
pipe_Tweener.Tween(3.2f,
FLOAT, &pSprite->m_X, (float) -pSprite->GetImage()->GetWidth(),
FLOAT, &pSprite->m_Y, (float) pSprite->m_Y,
FLOAT, &pSprite->m_X, (float) -pSprite->GetImage()->GetWidth(),
FLOAT, &pSprite->m_Y, (float) pSprite->m_Y,
ONCOMPLETE, &Game::ResetP,
END);
,另一個是:
pipe_Tweener.Tween(JUMP_TIME,
FLOAT, &bSprite->m_X, (float) bSprite->m_X,
FLOAT, &bSprite->m_Y, (float) bSprite->m_Y-JUMP_HEIGHT,
EASING, Ease::sineOut,
ONCOMPLETE, &Game::EndAnimating,
END);
這些充斥着似乎使用的x86調試調試時很好地工作。但是,當我使用GCC ARM調試時,最終在IwTween.cpp
的360行發生IwAssert失敗。 我已經通過了Tween
方法調試,和我所注意到的是,我的第一個補間一切都很好,我可以看到該方法要通過每個Type
(FLOAT
,FLOAT
,FLOAT
,FLOAT
,ONCOMPLETE
,END
)。然而,對於當Tween
方法獲取到END
枚舉第二吐溫,Type
變爲0,(讓我看到Type
(FLOAT
,FLOAT
,EASING
,ONCOMPLETE
,0
)導致默認情況下要執行的語句,它調用斷言失敗。
我不知道如果我做錯了什麼,或者如果這是果醬本身?