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

나는 유는 collidable가 않습니다 정확히 알고 layerColor하여 playerRect 및 enemyRect를 디버깅 그릴 수 생각합니다. 이며 업데이트 기능에서 연속적으로 콜리 블 가능한 체크 콜을 잊어서는 안됩니다. LayerColor 그냥 너비, 높이 동일한 크기의 플레이어/적을 전달하지만 layerColor 위치는 (player-> getPositionX (또는/Y) (0 - player-> getContentSize()) width 또는 x 및 height의 너비 y)/2)

+0

시도해 보았습니다. 그러나 다른 타일을 겹치지 않고 계속해서 트레이스를 인쇄하고 있습니다. – SaravanaKumar