public EnemyCharacter(Texture2D[] texture, Point[] rowsAndColumns, MoveParameters moveParameters) { Parameters = moveParameters; Parameters.IsLeft = Parameters.Position.X >= Sprint5Main.Game.Scene.Mario.GetMinPosition.X; Parameters.SetVelocity(2, 0); liveEnemy = new AnimatedSprite(texture[0], rowsAndColumns[0], Parameters); diedEnemy = new AnimatedSprite(texture[1], rowsAndColumns[1], Parameters); currentSprite = liveEnemy; disappear = 100; }
private float Clock; // The Clock used for Died Animation public Mario(Texture2D[][] marioSpriteSheets, Vector2 location) { MarioState = new MarioState(this); //initialize position and velocity, where the MoveParameter itself will not do. Parameters = new MoveParameters(true); Parameters.SetPosition(location.X, location.Y); Parameters.SetVelocity(0, 0); JumpHigher = false; Dive = false; AutomaticallyMoving = false; Shoot = false; DiveRight = false; //store 13 Mario textures MarioSpriteSheets = marioSpriteSheets ?? throw new ArgumentNullException(nameof(marioSpriteSheets)); ActionSprites = new ISprite[6] { new AnimatedSprite(MarioSpriteSheets[0][0], new Point(1, 1), Parameters), new AnimatedSprite(MarioSpriteSheets[0][1], new Point(1, 1), Parameters), new AnimatedSprite(MarioSpriteSheets[0][2], new Point(1, 3), Parameters), new AnimatedSprite(MarioSpriteSheets[0][3], new Point(1, 1), Parameters), new AnimatedSprite(MarioSpriteSheets[0][1], new Point(1, 1), Parameters), new AnimatedSprite(MarioSpriteSheets[0][5], new Point(1, 1), Parameters) }; FlagSprite = new AnimatedSprite(MarioSpriteSheets[0][4], new Point(1, 1), Parameters); CurrentSprite = ActionSprites[0]; Clock = 0; }
public BossEnemyCharacter(Texture2D[] texture, Point[] rowsAndColumns, MoveParameters moveParameters) : base(texture, rowsAndColumns, moveParameters) { moveParameters.SetVelocity(2.0f, 0); currentSprite.FrameFreeze = true; }