2015-01-18 2 views
-1

Может любой программист cocos2dx помочь мне!Pacxon in 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

Я думаю, что вы могли бы нарисовать отладчик вашего игрокаRect и enemyRect by layerColor, чтобы точно знать, что он имеет коллидируемость. , и не следует забывать, что этот коллибельный вызов проверки выполняется последовательно при обновлении. LayerColor вы просто проходите ширину, игрок с одним и тем же размером игрока, но layerColor posittion должен быть установлен как (player-> getPositionX (или/Y) (0 - player-> getContentSize(). Width (или height - width для x и height для y)/2)

+0

Я пробовал, но трассировка выполняется непрерывно даже без перекрытия другой плитки – SaravanaKumar