【发布时间】:2016-04-18 16:11:11
【问题描述】:
我正在制作一个垂直滚动平台游戏,我想创建从左到右(或从右到左)移动的精灵,当它们离开屏幕时,它们会出现在另一个屏幕上一边。
我有一个大部分工作的实现,唯一的问题是单个楼层上的精灵在每个循环中都越来越接近。
我真的不擅长描述事情,所以please check this video。
我正在使用以下代码来计算节点的新位置:
pos.x = fmodf(size.width + pos.x + this->currentDir * this->speed * delta, this->len + size.width) - size.width;
len 是精灵重新定位到0 之后的宽度(实际上是-size.width,这是精灵的宽度),currentDir 是1 或-1 和delta是 update() 方法的时间。
每个精灵都定位在它自己的 update() 中,但我已经尝试在 Scene 的 update() 方法中做所有事情,但结果是一样的。
【问题讨论】:
标签: c++ cocos2d-iphone cocos2d-x cocos2d-x-3.0