public Character(Stage stage, float x, float y, int width, int height, Character user)
     : base(stage, x, y, width, height)
 {
     this.user = user;
     effectPos = new Vector2();
     animation = new Animation(width, height);
 }
        public Enemy(Stage stage, float x, float y, int width, int height, int HP, Character user)
            : base(stage, x, y, width, height, user)
        {
            this.HP = HP;
            defPos = new Vector2(x, y);

            Load();
        }
        public WindTurret(Stage stage, float x, float y, int width, int height, int HP, Character user, Turret turret)
            : base(stage, x, y, width, height, HP, user)
        {
            //LoadXML("Enemy", "Xml\\Objects_Base.xml");
            if (turret == null) turret = new Turret(stage, this, position, 32, 32, 0, 1, 1, false, true, 0, 0, 5);
            Load();

            turret.isBeingUsed = true;
        }
        public DivisionWeapon(Stage stage, float x, float y, int width, int height, Character user, float ratio)
            : base(stage, x, y, width, height,user)
        {
            derived1 = new Weapon(stage, x, y, width * (int)ratio, height * (int)ratio, user);
            derived2 = new Weapon(stage, x, y, width * (int)ratio, height * (int)ratio, user);
            rect = new Rectangle(0, 0, width, height);

            stage.weapons.Add(derived1);
            stage.weapons.Add(derived2);
            derived1.isBeingUsed = derived2.isBeingUsed = true;

            Load();
        }
        public JumpingEnemy(Stage stage, float x, float y, int width, int height, int HP, Character user)
            : base(stage, x, y, width, height, HP, user)
        {
            isMovingAround = true;
            moveDistance = 80;
            speed.X = defSpeed;
            movePattern = defMovePattern;
            if (defSpeed > 0) {
                isMovingRight = true;
                turnsRight = true;
            }
            //delayTime = motionDelayTime + 1;

            Load();
        }
        public Sword(Stage stage, float x, float y, int width, int height, Character user)
            : base(stage, x, y, width, height)
        {
            this.user = user;
            //if (stage.player != null) this.player = stage.player;
            if (user is Player) this.player = user as Player;

            position = new Vector2();
            //criterionVector = new Vector2(this.player.position.X + player.width / 2, player.position.Y + player.height / 2);
            criterionVector = new Vector2(this.user.position.X + user.width / 2, user.position.Y + user.height / 2);

            damagedObjects = new List<Object>();
            degree = 100;
            //swordBeam = new Bullet(stage,this,null,this.position,40,8);
            beamTurret = new Turret(stage, this, new Vector2(5, 5), 40, 8, 0, 1, 1);
            animation = new Animation(64, 96);
            animation2 = new Animation(128, 80);

            Load();
        }
 //public bool isBeingUsed;// 使用開始フラグ:手動 Autoは挙動を書いた関数を呼ぶようにする
 //private bool isInAuto;
 public DivisionWeapon(Stage stage, float x, float y, int width, int height, Character user)
     : this(stage, x, y, width, height, user, .5f)
 {
 }
 public WindTurret(Stage stage, float x, float y, int width, int height, int HP, Character user)
     : this(stage, x, y, width, height, HP, user, null)
 {
 }