我正在開發一款賽車遊戲,每輛汽車都在一條路上跑步。由於比賽是基於時間的,我將repeatCount設置爲bug值。現在的問題是,我無法確定比賽結束時完成了多少圈(也就是說動畫重複了多少次)。我試圖使用CGIntersectRect作爲汽車的框架,並在其定時器功能的某個起點從不準確。當repeatCount爲huge_val時,我如何知道動畫(CAKeyFrameAnimation)完成的迭代次數?
1
A
回答
0
我覺得你可以利用Animation Delegates
的CAAnimation類提供的手段來通知委託對象 當動畫啓動和停止。
如果動畫有指定的委託,它將收到 animationDidStart:message,傳遞開始的動畫實例。 動畫停止時,委託收到一個 animationDidStop:finished:消息,傳遞停止的動畫實例 ,以及布爾值,指示動畫是否成功完成 其持續時間或手動停止。
在animationDidStart:
可以放置計數器每次調用增加此計數器會給你的迭代次數
0
我能解決它自己,未必是最好的答案測量iteration.on。
我在起始點使用CaLayer,並檢查汽車和這個層的框架是否與定時器相交。這個問題會隨着時間的推移而延續,因爲它會多次相交,從而給出圖像和定時器頻率的寬度和高度。然後,我用一面旗子在相交時只計算一次。
- 謝謝!
相關問題
- 1. 知道模態動畫何時完成
- 2. Android,我怎麼知道動畫完成?
- 3. 定時器完成啓動repeatCount flex 4
- 4. 我如何知道location.reload()何時完成?
- 5. 如何知道UITableView動畫何時完成?
- 6. 如何知道模態動畫何時完成?
- 7. 我如何知道for循環的最後一次迭代?
- 8. 在每次迭代完成後再次迭代函數
- 9. CAKeyframeAnimation - 動畫的圖像數組創建後完成
- 10. 我如何知道當我的控制完成初始化?
- 11. 如何知道Coundown計時器在Android中啓動和完成的次數?
- 12. 我的代碼如何知道Firebase何時完成檢索數據?
- 13. 停止一個CSS動畫,但讓當前迭代完成
- 14. 如何知道這是函數的最後一次迭代
- 15. 如何知道FileSystemWatcher何時完成
- 16. 如何知道dllmain何時完成?
- 17. 如何知道Core Animation何時完成?
- 18. 如何知道何時下載完成
- 19. 如何知道ScheduledExecutorService何時完成
- 20. 如何知道何時下載完成?
- 21. 如何知道FileSystem.CopyDirectory何時完成?
- 22. 如何知道dd何時完成
- 23. writeToFile如何知道它何時完成
- 24. 如何知道何時安裝完成?
- 25. 如何知道綁定何時完成?
- 26. 如何知道IntentService何時完成?
- 27. 如何知道appcache何時完成?
- 28. 檢測選取框標記完成的動畫的迭代次數
- 29. 如何知道動畫剪輯已完成?
- 30. 我如何知道reloadData已經完成
感謝您的迴應Ravindra!聽起來像一個合理的計劃。但是animationDidStart每次迭代都會被調用,或者剛剛開始。如果它在開始時被調用,那麼可能沒有多大用處。代表名稱暗示它會在啓動時被調用,並且可能不會用於每次迭代。無論如何,我會在接下來的一小時內給它一個鏡頭! – SurenderS
Ravindra,我剛剛確認animationDidStart只在開始時調用,當您將動畫添加到圖層時,而不是在運行時重複動畫。 – SurenderS