首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >cocos2d旋转子画面碰撞检测

cocos2d旋转子画面碰撞检测
EN

Stack Overflow用户
提问于 2011-03-10 10:14:33
回答 3查看 943关注 0票数 0

我有两个精灵,球和箭。箭头没有移动。球在它的锚点上旋转。

代码语言:javascript
复制
id rotate = [CCRotateBy actionWithDuration:.5 angle: 360];

当球到达箭头时,我想要检测碰撞。已尝试使用CGRectIntersectsRect,但未检测到冲突。有什么帮助吗?谢谢..。

EN

回答 3

Stack Overflow用户

发布于 2011-03-11 06:55:18

你可能不想要这个答案,但我会使用Box2D或花栗鼠,并使用顶点助手应用程序来指定顶点。

票数 1
EN

Stack Overflow用户

发布于 2011-03-10 10:57:03

使用圆-圆碰撞方法..下面是方法..

代码语言:javascript
复制
-(float)asbs:(CGPoint)_arrowPos ballPos:(CGPoint)_ballPos
{
    float x = _arrowPos.x-_ballPos.x;
    float y = _arrowPos.y-_ballPos.y;
    float xy = x*x+y*y;

return xy;
}

if([self asbs:arrow.position ballPos:ball.position]<=size)
{
//collision
}

请注意,尺寸=球半径+箭头半径*球半径+箭头半径

上面的方法是使用a(正方形)+b(正方形)=c(正方形)来检查两点之间的距离。

票数 0
EN

Stack Overflow用户

发布于 2011-03-29 04:04:01

您可能需要在update方法中将球转换为世界空间,然后调用它而不是球的位置。如果它位于父层中,则相对于其父层的位置将始终是静态的。

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

https://stackoverflow.com/questions/5254698

复制
相关文章

相似问题

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