我尝试使用 FTP FlxWeapon 制作一些子弹(实际上是剑/匕首),但得到了一些意想不到的结果。这就是我设置 FlxWeapon 的方式:
sword = new BasicSword("Sword", player, "x", "y");
sword.makeImageBullet(15, BasicSword.SWORD_GIF,5);
sword.setBulletDirection(FlxWeapon.BULLET_RIGHT, 400);
sword.setPreFireCallback(bulletDirectionCallback);
//load FlxControl
if(FlxG.getPlugin(FlxControl) == null){
FlxG.addPlugin(new FlxControl);
}
FlxControl.player1.setFireButton("X", FlxControlHandler.KEYMODE_PRESSED, 100, sword.fire);
}
/*A callback function, to set a proper direction before we fire the sword*/
public function bulletDirectionCallback():void{
if(player.facing == FlxObject.RIGHT){
sword.setBulletDirection(0, 400); //make the bullet move to the right side with velocity of 400.
}
else{ //if player is facing the left direction.
sword.setBulletDirection(180, 400); //make the bullet move to the left side with the velocity of 400.
}
}
重要说明:
BasicSword.as 扩展了 Sword.as 和 Sword.as 扩展了 FlxWeapon。
BasicSword 和 Sword 中没有什么重要的,实际上 Sword 只有构造器,而 BasicSword 只有 SWORD_GIF。
- 我认为有效的方法:
1-回调函数。
2-一些方法和变量,例如:setFireRate() 和 bulletsFired。
3-开火按钮(FlxControl.player1.setFireButton)。
-什么不工作:
1 - 剑没有出现。