繁体   English   中英

使用NSTimer在屏幕上移动对象

[英]using NSTimer to move objects on screen

我正在构建一个简单的ios游戏应用程序,其中我必须在屏幕上移动一些对象,并且这些移动的对象会对滑动手势做出反应,并据此更改其方向。 我没有为此使用spritekit或任何其他游戏框架,而移动对象的方式是通过触发每秒触发60次的NSTimer。 我没有显式使用任何线程,所以我猜计时器是由主线程执行的吗? 计时器触发的代码块根据对象的速度(定义为x / y方向上每个时间单位的像素)更新对象的位置。 一切正常,我快要完成项目了,但是在测试应用程序时,我意识到尽管大多数情况下对象的运动看起来都不错,但是有时运动还是有些粗糙/斑驳。 我的问题是做这样的事情是正确的方法,如何改善性能? 使用GCD之类的方法可以解决抖动的问题吗? (我没有详细研究GCD,但如果我知道会有所帮助,我愿意花时间在它上面)

谢谢你的帮助 !

我移动对象的方式是触发NSTimer,每秒触发60次

我建议不要这样做。 内置了各种形式的动画(查看动画,图层动画,CADisplayLink,UIKit Dynamics),当然总会有Sprite Kit。 使用为此目的提供的工具。 当您已经拥有杜卡迪时,不要重塑独轮车。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM