这是我在点击枪(精灵)时尝试让射弹做一些动作但是当触摸精灵时 canon1“射弹”没有出来,请如果有人知道这可以帮助我。
@Override
public boolean ccTouchesBegan(MotionEvent event)
{
// Choose one of the touches to work with
// CGPoint location = CCDirector.sharedDirector().convertToGL(CGPoint.ccp(event.getX(), event.getY()));
if(CGRect.containsPoint((canon2.getBoundingBox()), location)){
// Set up initial location of projectile
CGSize winSize = CCDirector.sharedDirector().displaySize();
_nextProjectile = CCSprite.sprite("fireball50.png");
System.out.println("projectile working");
//_nextProjectile.setPosition(20, winSize.height / 2.0f);
_nextProjectile.setPosition(CGPoint.ccp(65, 120));
// Determine offset of location to projectile
int offX = (int)(location.x - _nextProjectile.getPosition().x);
int offY = (int)(location.y - _nextProjectile.getPosition().y);
// Bail out if we are shooting down or backwards
if (offX <= 0)
return true;
_nextProjectile.setTag(3);
// Determine where we wish to shoot the projectile to
int realX = (int)(winSize.width + (_nextProjectile.getContentSize().width / 2.0f));
float ratio = (float)offY / (float)offX;
int realY = (int)((realX * ratio) + _nextProjectile.getPosition().y);
CGPoint realDest = CGPoint.ccp(realX, realY);
float velocity = 480.0f / 1.0f; // 480 pixels / 1 sec
float realMoveDuration = length / velocity;
// Move projectile to actual endpoint
_nextProjectile.runAction(CCSequence.actions(
CCMoveTo.action(realMoveDuration, realDest),
CCCallFuncN.action(this, "spriteMoveFinished")));
}