我正在进行Flash游戏,我有一个与此类似的游戏角色
角色能够在面向左方时射击,子弹从枪的方向对角射击。
然而,当我的角色朝向右边时,子弹是从头后部而不是枪本身射出的。我确实意识到,当角色朝右时,注册点在枪上,但是当朝向左侧时,注册点位于她的后脑勺。这可能是个问题吗?我该如何克服这个?
这是我的代码
function shootBulletBoy():void {
var fire:myBullet2 = new myBullet2();
fire.x = GirlHero.x;
fire.y = GirlHero.y;
addChild(fire);
fire.addEventListener(Event.ENTER_FRAME, moveBullet2);
}
function moveBullet2(e:Event):void {
if (GirlHero.currentLabel == ('left')){
e.currentTarget.x += Math.cos(rads) * speed;
e.currentTarget.y += Math.sin(rads) * speed;
e.currentTarget.rotation = 265;
}
if (GirlHero.currentLabel == ('right')){
e.currentTarget.x += Math.cos(radss) * speedd;
e.currentTarget.y += Math.sin(radss) * speedd;
}}
我遇到的另一个问题是,当我的角色面向左方射击时,枪向左方向射击,但如果角色向右转而子弹仍在空中,我的子弹突然转动在权利方向。我不知道为什么会这样做。
很抱歉,如果我问得太多了。你不必回答我的问题,一点帮助就可以了:))
谢谢