首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Spritebuilder位置变化

Spritebuilder位置变化
EN

Stack Overflow用户
提问于 2015-09-18 01:23:48
回答 1查看 28关注 0票数 0

我有我的游戏在斯普里特建设者,我试图移动一个球上升每0.005秒。我有一个NSTimer这样做,但有时ball.position.y + 2是不同的。

例如,有一次我玩游戏,球以我想要的速度移动到屏幕的顶端。然后,甚至没有结束比赛,只是再次打开现场,球以一半的速度移动,就好像+ 2当时没有那么快,或者NSTimer决定以一半的速度运行。

注意:这只发生在一个实际的设备上。我不能让它发生在模拟器里。

有人知道为什么会这样吗?

谢谢。

编辑:我的代码(节略):

代码语言:javascript
运行
复制
timer2 = NSTimer.scheduledTimerWithTimeInterval(0.005, target: self, selector: "updateTick", userInfo: nil, repeats: true)

我的更新功能:

代码语言:javascript
运行
复制
func updateTick() {
    ...
    incrementBalls()
    ...
}

我的incrementBalls()函数:

代码语言:javascript
运行
复制
for index in 0...balls.count - 1 {
    balls[index].position = ccpAdd(_physicsBody.position, CGPoint(x: balls[index].position.x, y: balls[index].position.y + 2))
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-31 01:39:05

我通过使用update方法和做一些数学来移动球而不是不可靠的NSTimer来修正这个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32642432

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档