gpt4 book ai didi

c++ - cocos2d-x 中的碰撞检测

转载 作者:行者123 更新时间:2023-11-28 00:29:20 25 4
gpt4 key购买 nike

我是 cocos2d-x 的初学者,我正在 xcode 中使用 cocos2d-x 开发游戏。在我的游戏中,我添加了一个名为 man 的玩家 Sprite 和一个名为 obs1 的障碍物 Sprite 。现在我试图相互碰撞。为此,我使用了以下代码,但在运行时进入 Playscene 时,它​​在 getpositionX 和 getpositionY 中显示了一些错误。我在头文件中将 kman 和 kobs1 声明为枚举。请帮我解决这个问题。

   schedule(schedule_selector(PlayScene::update));


void PlayScene::update(float dt)
{
CCSprite *man = (CCSprite*)getChildByTag(kman);
CCSprite *obs1 = (CCSprite*)getChildByTag(kobs1);
CCRect manRect = CCRectMake(man->getPositionX(),man->getPositionY(),6,1);
CCRect obs1Rect = CCRectMake(obs1->getPositionX(),obs1->getPositionY(),6,1);

if(manRect.intersectsRect(obs1Rect))
{
CCDirector::sharedDirector()->end();

}

}

谢谢。

最佳答案

你可以使用

man->getBoundingBox() (Return a Rect)
obs1->getBoundingBox() (Return another Rectangle

并检查

if(man-> intersectsRect(obs1)
{

// Do Something
}

谢谢

关于c++ - cocos2d-x 中的碰撞检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23533395/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com