如何在Cocos2d游戏中向后拍摄

时间:2011-11-02 00:26:03

标签: xcode cocos2d-iphone

我现在正在大脑冻结。

我的屏幕底部有一个水箱。如果宇宙飞船在坦克右侧,下面的代码会在宇宙飞船上射出导弹。

如果坦克在屏幕底部的水箱左侧,如何射击导弹呢?

当目标位于导弹起点右侧时,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 :(得分:0)

如果你想在太空船上射击,你不应该

realDest = ccp(Spaceship.position.x, Spaceship.position.y);