我正在开展一个新项目,我完全陷入了主角运动。
此链接的图片说明了我的情况 http://www.chr.to/stuck.jpg
我有一个世界(黑色)一个角色(红色)和一个障碍
角色和世界是SELF的孩子 障碍是一个世界的孩子
我的目标是将角色移动到世界各地,但它必须始终处于相同的位置,只有世界必须低于它的位置。
为了做到这一点,我在角色方向的相反方向旋转世界,效果很完美(我从操纵杆获得方向)
-(void)update:(CFTimeInterval)currentTime {
rotation = rotation + input;
wordTest.zRotation = rotation; }
最大的问题是当我在世界上找到一个物体时。
角色和所有障碍物都是物理对象。
当角色撞到障碍物时,它会拖离世界,因为旋转继续,并且它不能保持其位置在屏幕中间。
可能它不是最好的方法,我必须找到停止轮换的方法...... 或者你有更好的建议吗?
谢谢你们答案 0 :(得分:0)
设置名为BOOL
的{{1}}标记,并使用它来检查是否必须在canRotate
方法中应用循环。
-update
在-(void)update:(CFTimeInterval)currentTime
{
if (canRotate)
{
rotation = rotation + input;
wordTest.zRotation = rotation;
}
}
方法中将此标记设置为YES,当在-init
中触发角色与障碍物之间的接触时,将标记设置为NO。