我正在Eclipse上开发一个安卓游戏,其中一个精灵在几个平台上跳跃到顶端,但我遇到困难。这里是我的情况:我有角色精灵(在这种情况下,我将其命名为Sprite1),并在我的应用程序启动时随机位置创建另外3个精灵(平台)。平台在应用程序启动时成功创建。但是它们和Sprite1之间的冲突没有被检测到。我尝试了很多解决方案,现在我坚持了几天。任何帮助或建议将不胜感激。Cocos2d-android检测随机创建的精灵或rects
我尝试了在平台创建时使用rects,然后使用rects来检测碰撞,但它们仍然不会发生碰撞。我使用Java语言。 :)
我使用它来创建精灵和检测碰撞:
创建平台精灵(这是怎么了我随机产卵平台上,如果这里有任何错误,我敢肯定,我只是复制错误的,因为创建或平台精灵工作正常。):
public void addRandomPlatform(){
Random rand = new Random();
randPlat = CCSprite.sprite("platform2.png");
randPlat.setPosition(actualX, actualY);
actualY -= (int)(randPlat.getContentSize().height*4);
addChild(randPlat,2);
}
然后,我只是在我的应用程序启动时调用此方法。
检测用碰撞:
playerRect = CGRect.make(player.getPosition().x - (player.getContentSize().width/ 4.0f),//- (player.getContentSize().width/2.0f),
player.getPosition().y - (player.getContentSize().height/2.0f),
player.getContentSize().width/3.0f,
player.getContentSize().height/8.0f);
if(CGRect.intersects(playerRect, randPlat))
{
*my codes for stopping the jump*
}
我希望这是显而易见的。提前致谢!
请添加一些代码。你如何创建精灵,碰撞检测如何工作?你使用Box2D吗? – fifarunnerr
哦,等等,让我编辑我的文章,并包含一些代码。我不使用Box2D。谢谢回复! – user3194348