大家好我是cocos2d的新手,所以如果这是一个简单的问题,我道歉。我想创建精灵,当他们互相碰撞时碰撞。
例如,一个sprite,spriteA,在屏幕上处于固定位置。另一个精灵spriteB正在屏幕上移动。 SpriteB将与spriteA冲突。如果这没有意义或你不理解,请告诉我,我会进一步阐述。任何帮助表示赞赏。谢谢你!
答案 0 :(得分:1)
尝试使用Chipmunk或Box2d物理系统。这些包含在Cocos2d中,并通过物理模拟进行工作,每次图形在屏幕上更改时都会更新。
物理模拟将告诉您两个物体是否重叠,并将提供物理属性,如重量,滑溜(摩擦力),速度和方向,这会产生反弹,如弹跳,滑动,现实的速度损失和撞击方向的变化
如果您不熟悉物理模拟,那么这是30秒的运行时间:
这是使用Box2d进行碰撞检测的好方法。 http://www.raywenderlich.com/606/how-to-use-box2d-for-just-collision-detection-with-cocos2d-iphone
享受
答案 1 :(得分:0)
其实很简单:
只需安排一个计时器:[自我安排:@selector(checkForCollision:)];
指定方法: - (void)checkForCollision:(ccTime)dt {}
在花括号中,使用CGRectMake为每个精灵制作CGRect。
然后在同一个方法中,只需调用:if(CGRectIntersectsRect){}
那很简单!
答案 2 :(得分:-1)
从技术上讲,当2个精灵相互作用或共享至少一个共同点时,它们就会发生碰撞。我对你的问题感到有些困惑。你是否在询问如何让精灵在屏幕上移动的方向,或者你是否在询问如何处理实际的碰撞(例如在碰撞时调用方法)?