如何在闪光灯中对角地射击子弹

时间:2014-04-26 11:50:06

标签: actionscript-3 flash angle diagonal

我多年来一直有这个问题,并且没有找到解决方案。

在闪光灯中,我有一个角色的枪位与此相似

http://us.123rf.com/400wm/400/400/chudtsankov/chudtsankov1004/chudtsankov100400927/6906625-cartoon-character-mobster-carries-weapon.jpg

我一直难以尝试以与枪指向相同的角度射击子弹。我尝试过使用角度,但它似乎并没有起作用。

现在,子弹直射,但我想让它以一定角度射击。

到目前为止,我有这个

function shootBullet():void {

    var fire:myBullet2 = new myBullet2();
    fire.x = GirlHero.x;
    fire.y = GirlHero.y;
    addChild(fire);
    fire.addEventListener(Event.ENTER_FRAME, moveBullet);
}

任何帮助将不胜感激!谢谢! :)顺便说一句,我的角色由左,右和上键控制,向上键是射击,左边是左右走路向右走。

1 个答案:

答案 0 :(得分:0)

有一个很好的例子: -

http://rhuno.com/flashblog/2011/11/18/calculating-angles-and-moving-objects-accordingly/

您想要做类似

的事情
var angle:int = 270;
var rads:Number = angle*Math.PI/180;
var speed:int = 2;

function moveBullet(e:Event)
{
  e.currentTarget.x += Math.cos(rads) * speed;  
  e.currentTarget.y += Math.sin(rads) * speed;  
}

你需要相应地设置角度,具体取决于角色面对的方式(如果它翻转)