Как стрелять задом наперед в игре Cocoa2d - PullRequest
0 голосов
/ 02 ноября 2011

У меня сейчас мозг зависает.

У меня есть цистерна внизу экрана.Приведенный ниже код стреляет ракетой по космическому кораблю, если космический корабль находится справа от танка.

Как заставить его стрелять ракетой, если танк находится на левой стороне танка внизу?экрана?

Кажется, что RealDest работает только тогда, когда цель находится справа от стартовой точки ракеты.

Спасибо за помощь.

Приветствия

Шейн

int offX = Spaceship.position.x - missile.position.x;  
int offY = Spaceship.position.y - missile.position.y;  

// Determine where we wish to shoot the projectile to   
int realX = winSize.width + (missile.contentSize.width/2);  
float ratio = (float) offY / (float) offX;  
int realY = (realX * ratio) + missile.position.y;  
CGPoint realDest = ccp(realX, realY);  

// Determine the length of how far we're shooting  
int offRealX = realX - missile.position.x;  
int offRealY = realY - missile.position.y;  
float length = sqrtf((offRealX*offRealX)+(offRealY*offRealY));  
float velocity = 480/1; // 480pixels/1sec  
float realMoveDuration = length/velocity;  


[missile runAction:[CCMoveBy actionWithDuration:realMoveDuration position:realDest]];

1 Ответ

0 голосов
/ 02 ноября 2011

Если вы пытаетесь стрелять в космический корабль, разве у вас не должно быть

realDest = ccp(Spaceship.position.x, Spaceship.position.y);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...