任何cocos2dx程序员都可以帮助我!!
我是cocos2dx的新手。我的任务是创建pac-xon游戏。 我尝试了学习教程并完成了瓷砖和播放器的初始放置。
但是,我不知道检测之间的碰撞 1)玩家对敌人 2)向敌人展示。
所以,任何人都可以帮助我完成任务。
以下是我现在所做的事情。
void GameScene::CollisionCheck()
{
targetRect = CCRectMake(tiles->getPosition().x - (tiles->getContentSize().width / 2), tiles->getPosition().y - (tiles->getContentSize().height / 2), tiles->getContentSize().width, tiles->getContentSize().height);
playerRect = CCRectMake(mySprite->getPosition().x - (mySprite->getContentSize().width / 2), mySprite->getPosition().y - (mySprite->getContentSize().height / 2), mySprite->getContentSize().width, mySprite->getContentSize().height);
enemyRect = CCRectMake(ET1->getPosition().x - (ET1->getContentSize().width / 2), ET1->getPosition().y - (ET1->getContentSize().height / 2), ET1->getContentSize().width, ET1->getContentSize().height);
if (enemyRect.intersectsRect(targetRect)) // TargetRect = ET1,
{
//CCLOG("Colliding"); // Enemy Touches Tiles reflect with some angel,
}
if (playerRect.intersectsRect(enemyRect))
{
CCLOG("Game Over, Try Again!!!!");
}
if (playerRect.intersectsRect(targetRect))
{
// Player is top of Tile
}
}
答案 0 :(得分:0)
我想你可以通过layerColor绘制调试你的playerRect和enemyRect,以确切知道它是否具有可碰撞性。 并且不应该忘记在更新函数上连续的可碰撞检查调用。 LayerColor你只是传递宽度,高度相同大小的玩家/敌人但是layerColor posittion应该设置为(player-> getPositionX(或/ Y)(0 - player-> getContentSize()。width(或height - x和高度的宽度)对于y)/ 2)