Merge branch 'livingEntitiesVlad' into livingEntities
This commit is contained in:
commit
ab09c174cf
28 changed files with 253 additions and 28 deletions
1
DangerousD/Content/animations/BallMoveRight
Normal file
1
DangerousD/Content/animations/BallMoveRight
Normal file
|
@ -0,0 +1 @@
|
|||
{"id":"BallMoveRight","textureName":"MonstersAnimations","startSpriteRectangle":{"X":229,"Y":332,"Width":16,"Height":16},"frameSecond":[{"Item1":0,"Item2":8}],"textureFrameInterval":1,"framesCount":2,"isCycle":true,"offset":"0, 0"}
|
1
DangerousD/Content/animations/FlameSkullMoveLeft
Normal file
1
DangerousD/Content/animations/FlameSkullMoveLeft
Normal file
|
@ -0,0 +1 @@
|
|||
{"id":"FlameSkullMoveLeft","textureName":"MonstersAnimations","startSpriteRectangle":{"X":1,"Y":593,"Width":24,"Height":16},"frameSecond":[{"Item1":0,"Item2":10}],"textureFrameInterval":1,"framesCount":2,"isCycle":true,"offset":"0, 0"}
|
1
DangerousD/Content/animations/FlameSkullMoveRight
Normal file
1
DangerousD/Content/animations/FlameSkullMoveRight
Normal file
|
@ -0,0 +1 @@
|
|||
{"id":"FlameSkullMoveRight","textureName":"MonstersAnimations","startSpriteRectangle":{"X":1,"Y":576,"Width":24,"Height":16},"frameSecond":[{"Item1":0,"Item2":10}],"textureFrameInterval":1,"framesCount":2,"isCycle":true,"offset":"0, 0"}
|
1
DangerousD/Content/animations/GhostAttack
Normal file
1
DangerousD/Content/animations/GhostAttack
Normal file
|
@ -0,0 +1 @@
|
|||
{"id":"GhostAttack","textureName":"MonstersAnimations","startSpriteRectangle":{"X":101,"Y":503,"Width":24,"Height":31},"frameSecond":[{"Item1":0,"Item2":10}],"textureFrameInterval":1,"framesCount":2,"isCycle":false,"offset":"0, 0"}
|
1
DangerousD/Content/animations/GhostMoveLeft
Normal file
1
DangerousD/Content/animations/GhostMoveLeft
Normal file
|
@ -0,0 +1 @@
|
|||
{"id":"GhostMoveLeft","textureName":"MonstersAnimations","startSpriteRectangle":{"X":1,"Y":536,"Width":24,"Height":26},"frameSecond":[{"Item1":0,"Item2":10}],"textureFrameInterval":1,"framesCount":1,"isCycle":true,"offset":"0, 0"}
|
1
DangerousD/Content/animations/GhostMoveRight
Normal file
1
DangerousD/Content/animations/GhostMoveRight
Normal file
|
@ -0,0 +1 @@
|
|||
{"id":"GhostMoveRight","textureName":"MonstersAnimations","startSpriteRectangle":{"X":1,"Y":503,"Width":24,"Height":26},"frameSecond":[{"Item1":0,"Item2":10}],"textureFrameInterval":1,"framesCount":1,"isCycle":true,"offset":"0, 0"}
|
1
DangerousD/Content/animations/GhostSpawn
Normal file
1
DangerousD/Content/animations/GhostSpawn
Normal file
|
@ -0,0 +1 @@
|
|||
{"id":"GhostSpawn","textureName":"MonstersAnimations","startSpriteRectangle":{"X":26,"Y":503,"Width":24,"Height":30},"frameSecond":[{"Item1":0,"Item2":20}],"textureFrameInterval":1,"framesCount":3,"isCycle":false,"offset":"0, 0"}
|
1
DangerousD/Content/animations/HunchmanDaggerLeft
Normal file
1
DangerousD/Content/animations/HunchmanDaggerLeft
Normal file
|
@ -0,0 +1 @@
|
|||
{"id":"HunchmanDaggerLeft","textureName":"MonstersAnimations","startSpriteRectangle":{"X":224,"Y":129,"Width":9,"Height":6},"frameSecond":[{"Item1":0,"Item2":10}],"textureFrameInterval":1,"framesCount":1,"isCycle":true,"offset":"0, 0"}
|
1
DangerousD/Content/animations/HunchmanDaggerRight
Normal file
1
DangerousD/Content/animations/HunchmanDaggerRight
Normal file
|
@ -0,0 +1 @@
|
|||
{"id":"HunchmanDaggerRight","textureName":"MonstersAnimations","startSpriteRectangle":{"X":224,"Y":116,"Width":9,"Height":6},"frameSecond":[{"Item1":0,"Item2":10}],"textureFrameInterval":1,"framesCount":1,"isCycle":true,"offset":"0, 0"}
|
1
DangerousD/Content/animations/SpiderMoveLeft
Normal file
1
DangerousD/Content/animations/SpiderMoveLeft
Normal file
|
@ -0,0 +1 @@
|
|||
{"id":"SpiderMoveLeft","textureName":"MonstersAnimations","startSpriteRectangle":{"X":1,"Y":225,"Width":34,"Height":8},"frameSecond":[{"Item1":0,"Item2":10}],"textureFrameInterval":1,"framesCount":2,"isCycle":true,"offset":"0, 0"}
|
1
DangerousD/Content/animations/SpiderMoveRight
Normal file
1
DangerousD/Content/animations/SpiderMoveRight
Normal file
|
@ -0,0 +1 @@
|
|||
{"id":"SpiderMoveRight","textureName":"MonstersAnimations","startSpriteRectangle":{"X":1,"Y":199,"Width":34,"Height":8},"frameSecond":[{"Item1":0,"Item2":10}],"textureFrameInterval":1,"framesCount":2,"isCycle":true,"offset":"0, 0"}
|
1
DangerousD/Content/animations/SpiderOnWeb
Normal file
1
DangerousD/Content/animations/SpiderOnWeb
Normal file
|
@ -0,0 +1 @@
|
|||
{"id":"SpiderOnWeb","textureName":"MonstersAnimations","startSpriteRectangle":{"X":80,"Y":199,"Width":16,"Height":24},"frameSecond":[{"Item1":0,"Item2":10}],"textureFrameInterval":1,"framesCount":1,"isCycle":true,"offset":"0, 0"}
|
1
DangerousD/Content/animations/SpiderWeb
Normal file
1
DangerousD/Content/animations/SpiderWeb
Normal file
|
@ -0,0 +1 @@
|
|||
{"id":"SpiderWeb","textureName":"MonstersAnimations","startSpriteRectangle":{"X":108,"Y":199,"Width":4,"Height":8},"frameSecond":[{"Item1":0,"Item2":1}],"textureFrameInterval":1,"framesCount":1,"isCycle":true,"offset":"0, 0"}
|
1
DangerousD/Content/animations/WolfJumpLeft
Normal file
1
DangerousD/Content/animations/WolfJumpLeft
Normal file
|
@ -0,0 +1 @@
|
|||
{"id":"WolfJumpLeft","textureName":"MonstersAnimations","startSpriteRectangle":{"X":133,"Y":290,"Width":40,"Height":33},"frameSecond":[{"Item1":0,"Item2":1}],"textureFrameInterval":1,"framesCount":1,"isCycle":true,"offset":"0, 0"}
|
1
DangerousD/Content/animations/WolfJumpRight
Normal file
1
DangerousD/Content/animations/WolfJumpRight
Normal file
|
@ -0,0 +1 @@
|
|||
{"id":"WolfJumpRight","textureName":"MonstersAnimations","startSpriteRectangle":{"X":133,"Y":258,"Width":40,"Height":33},"frameSecond":[{"Item1":0,"Item2":1}],"textureFrameInterval":1,"framesCount":1,"isCycle":true,"offset":"0, 0"}
|
1
DangerousD/Content/animations/WolfMoveLeft
Normal file
1
DangerousD/Content/animations/WolfMoveLeft
Normal file
|
@ -0,0 +1 @@
|
|||
{"id":"WolfMoveLeft","textureName":"MonstersAnimations","startSpriteRectangle":{"X":1,"Y":292,"Width":32,"Height":32},"frameSecond":[{"Item1":0,"Item2":10}],"textureFrameInterval":1,"framesCount":4,"isCycle":true,"offset":"0, 0"}
|
1
DangerousD/Content/animations/WolfMoveRight
Normal file
1
DangerousD/Content/animations/WolfMoveRight
Normal file
|
@ -0,0 +1 @@
|
|||
{"id":"WolfMoveRight","textureName":"MonstersAnimations","startSpriteRectangle":{"X":1,"Y":258,"Width":32,"Height":32},"frameSecond":[{"Item1":0,"Item2":10}],"textureFrameInterval":1,"framesCount":4,"isCycle":true,"offset":"0, 0"}
|
|
@ -14,8 +14,8 @@ namespace DangerousD.GameCore
|
|||
{
|
||||
protected Vector2 _pos;
|
||||
public Vector2 Pos => _pos;
|
||||
public int Width { get; protected set; }
|
||||
public int Height { get; protected set; }
|
||||
public int Width { get; set; }
|
||||
public int Height { get; set; }
|
||||
public Rectangle Rectangle => new Rectangle((int)Pos.X, (int)Pos.Y, Width, Height);
|
||||
public Vector2 velocity;
|
||||
public Vector2 acceleration;
|
||||
|
|
|
@ -14,10 +14,13 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters
|
|||
{
|
||||
public FlameSkull(Vector2 position) : base(position)
|
||||
{
|
||||
|
||||
Width = 62;
|
||||
Height = 40;
|
||||
monster_speed = 3;
|
||||
name = "Skull";
|
||||
}
|
||||
|
||||
protected override GraphicsComponent GraphicsComponent { get; } = new(new List<string> { "FlameSkullMoveLeft", "FlameSkullMoveRight" }, "FlameSkullMoveRight");
|
||||
protected override GraphicsComponent GraphicsComponent { get; } = new(new List<string> { "FlameSkullMoveRight" , "FlameSkullMoveLeft"}, "FlameSkullMoveRight");
|
||||
|
||||
public override void Attack()
|
||||
{
|
||||
|
|
|
@ -19,7 +19,7 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters
|
|||
Height = 160;
|
||||
GraphicsComponent.StartAnimation("FrankMoveLeft");
|
||||
monster_speed = 1;
|
||||
name = "Фрэнк";
|
||||
name = "Frank";
|
||||
}
|
||||
protected override GraphicsComponent GraphicsComponent { get; } = new(new List<string> { "FrankMoveRight", "FrankMoveLeft" }, "FrankMoveRight");
|
||||
|
||||
|
@ -35,35 +35,27 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters
|
|||
|
||||
public override void Move(GameTime gameTime)
|
||||
{
|
||||
/* if (player.Pos.X - _pos.X <= 20 || player.Pos.X - _pos.X <= -20)
|
||||
var player = AppManager.Instance.GameManager.players[0];
|
||||
if (player.Pos.X - _pos.X <= 20 || player.Pos.X - _pos.X <= -20)
|
||||
{
|
||||
player.Death(name);
|
||||
} */
|
||||
|
||||
}
|
||||
|
||||
if (isGoRight)
|
||||
{
|
||||
{
|
||||
if (GraphicsComponent.GetCurrentAnimation != "FrankMoveRight")
|
||||
{
|
||||
GraphicsComponent.StartAnimation("FrankMoveRight");
|
||||
velocity = new Vector2(monster_speed, 0);
|
||||
}
|
||||
velocity.X = monster_speed;
|
||||
}
|
||||
else if (!isGoRight)
|
||||
else
|
||||
{
|
||||
if (GraphicsComponent.GetCurrentAnimation != "FrankMoveLeft")
|
||||
{
|
||||
GraphicsComponent.StartAnimation("FrankMoveLeft");
|
||||
velocity = new Vector2(-monster_speed, 0);
|
||||
}
|
||||
}
|
||||
|
||||
if (_pos.X <= 1)
|
||||
{
|
||||
isGoRight = true;
|
||||
}
|
||||
else if (_pos.X >= 500)
|
||||
{
|
||||
isGoRight = false;
|
||||
velocity.X = -monster_speed;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,41 @@
|
|||
using DangerousD.GameCore.Graphics;
|
||||
using Microsoft.Xna.Framework;
|
||||
using Microsoft.Xna.Framework.Content;
|
||||
using Microsoft.Xna.Framework.Graphics;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters
|
||||
{
|
||||
public class FrankBalls : CoreEnemy
|
||||
{
|
||||
public FrankBalls(Vector2 position) : base(position)
|
||||
{
|
||||
name = "FrankBalls";
|
||||
Width = 40;
|
||||
Height = 40;
|
||||
monster_speed = 1;
|
||||
acceleration = Vector2.Zero;
|
||||
}
|
||||
|
||||
protected override GraphicsComponent GraphicsComponent { get; } = new(new List<string> { "BallMoveRight" }, "BallMoveRight");
|
||||
|
||||
public override void Attack()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public override void Death()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public override void Move(GameTime gameTime)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
|
@ -12,11 +12,15 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters
|
|||
{
|
||||
public Ghost(Vector2 position) : base(position)
|
||||
{
|
||||
monster_speed = 1;
|
||||
name = "Ghost";
|
||||
Width = 48;
|
||||
Height = 62;
|
||||
GraphicsComponent.StartAnimation("GhostSpawn");
|
||||
|
||||
}
|
||||
|
||||
protected override GraphicsComponent GraphicsComponent { get; } = new(new List<string> { "GhostMoveRight", "GhostMoveLeft", "GhostSpawn", "GhostAttack" }, "");
|
||||
|
||||
protected override GraphicsComponent GraphicsComponent { get; } = new(new List<string> { "GhostMoveRight", "GhostMoveLeft", "GhostSpawn", "GhostAttack" }, "GhostMoveRight");
|
||||
|
||||
public override void Attack()
|
||||
{
|
||||
|
|
|
@ -0,0 +1,40 @@
|
|||
using DangerousD.GameCore.Graphics;
|
||||
using Microsoft.Xna.Framework;
|
||||
using Microsoft.Xna.Framework.Content;
|
||||
using Microsoft.Xna.Framework.Graphics;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters
|
||||
{
|
||||
public class HunchmanDagger : CoreEnemy
|
||||
{
|
||||
public HunchmanDagger(Vector2 position) : base(position)
|
||||
{
|
||||
name = "Hunchman";
|
||||
monster_speed = 1;
|
||||
Width = 9;
|
||||
Height = 6;
|
||||
}
|
||||
|
||||
protected override GraphicsComponent GraphicsComponent { get; } = new (new List<string> { "HunchmanDaggerRight", "HunchmanDaggerLeft" }, "HunchmanDaggerLeft");
|
||||
|
||||
public override void Attack()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public override void Death()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public override void Move(GameTime gameTime)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
|
@ -12,15 +12,85 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters
|
|||
{
|
||||
public class Spider : CoreEnemy
|
||||
{
|
||||
protected SpiderWeb web;
|
||||
protected float delay;
|
||||
protected int webLength;
|
||||
protected bool isDown;
|
||||
protected bool isDownUp;
|
||||
public Spider(Vector2 position) : base(position)
|
||||
{
|
||||
isDownUp = true;
|
||||
isDown = true;
|
||||
web = new SpiderWeb(Pos);
|
||||
name = "Spider";
|
||||
Width = 112;
|
||||
Height = 24;
|
||||
delay = 0;
|
||||
webLength = 0;
|
||||
monster_speed = 1;
|
||||
acceleration = Vector2.Zero;
|
||||
}
|
||||
|
||||
protected override GraphicsComponent GraphicsComponent { get; } = new(new List<string> { "SpiderMoveRight", "SpiderMoveLeft", "SpiderDown", "SpiderUp" }, "");
|
||||
protected override GraphicsComponent GraphicsComponent { get; } = new(new List<string> { "SpiderMoveRight", "SpiderMoveLeft", "SpiderOnWeb" }, "SpiderMoveRight");
|
||||
|
||||
public override void Attack()
|
||||
public override void Update(GameTime gameTime)
|
||||
{
|
||||
if (isDownUp)
|
||||
{
|
||||
Width = 48;
|
||||
Height = 72;
|
||||
delay += (float)gameTime.ElapsedGameTime.TotalSeconds;
|
||||
if (delay > 0.5 && webLength <= 4 && isDown)
|
||||
{
|
||||
StartCicycleAnimation("SpiderOnWeb");
|
||||
webLength++;
|
||||
_pos.Y += 25;
|
||||
web.Height = webLength * 25;
|
||||
web.SetPosition(new Vector2(_pos.X + Width / 2 - web.Width / 2, Pos.Y - 25 * webLength));
|
||||
delay = 0;
|
||||
if (webLength == 4)
|
||||
{
|
||||
isDown = false;
|
||||
}
|
||||
}
|
||||
else if (delay > 0.5 && webLength != 0 && !isDown)
|
||||
{
|
||||
StartCicycleAnimation("SpiderOnWeb");
|
||||
webLength--;
|
||||
_pos.Y -= 25;
|
||||
web.Height = webLength * 25;
|
||||
web.SetPosition(new Vector2(_pos.X + Width / 2 - web.Width / 2, Pos.Y - 25 * webLength));
|
||||
delay = 0;
|
||||
if (webLength == 0)
|
||||
{
|
||||
isDown = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Width = 112;
|
||||
Height = 24;
|
||||
}
|
||||
}
|
||||
|
||||
base.Update(gameTime);
|
||||
}
|
||||
public override void Attack()
|
||||
{ //48 72
|
||||
|
||||
}
|
||||
|
||||
public override void Draw(SpriteBatch spriteBatch)
|
||||
{
|
||||
if (GraphicsComponent.GetCurrentAnimation == "SpiderOnWeb")
|
||||
{
|
||||
GraphicsComponent.DrawAnimation(new Rectangle((int)Pos.X, (int)Pos.Y, 48, 72), spriteBatch);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
base.Draw(spriteBatch);
|
||||
}
|
||||
}
|
||||
|
||||
public override void Death()
|
||||
|
|
|
@ -0,0 +1,41 @@
|
|||
using DangerousD.GameCore.Graphics;
|
||||
using Microsoft.Xna.Framework;
|
||||
using Microsoft.Xna.Framework.Content;
|
||||
using Microsoft.Xna.Framework.Graphics;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters
|
||||
{
|
||||
public class SpiderWeb : CoreEnemy
|
||||
{
|
||||
public SpiderWeb(Vector2 position) : base(position)
|
||||
{
|
||||
name = "Web";
|
||||
monster_speed = 1;
|
||||
Width = 16;
|
||||
Height = 0;
|
||||
acceleration = Vector2.Zero;
|
||||
}
|
||||
|
||||
protected override GraphicsComponent GraphicsComponent { get; } = new(new List<string> { "SpiderWeb" }, "SpiderWeb");
|
||||
|
||||
public override void Attack()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public override void Death()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public override void Move(GameTime gameTime)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
|
@ -14,9 +14,13 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters
|
|||
{
|
||||
public Werewolf(Vector2 position) : base(position)
|
||||
{
|
||||
name = "Wolf";
|
||||
monster_speed = 1;
|
||||
Width = 78;
|
||||
Height = 96;
|
||||
}
|
||||
|
||||
protected override GraphicsComponent GraphicsComponent { get; } = new(new List<string> { "WolfMoveRight", "WolfMoveLeft", "WolfJumpRight", "WolfJumpLeft" }, "");
|
||||
protected override GraphicsComponent GraphicsComponent { get; } = new(new List<string> { "WolfMoveRight", "WolfMoveLeft", "WolfJumpRight", "WolfJumpLeft" }, "WolfMoveRight");
|
||||
|
||||
public override void Attack()
|
||||
{
|
||||
|
|
|
@ -23,4 +23,12 @@ public abstract class LivingEntity : Entity
|
|||
}
|
||||
base.Update(gameTime);
|
||||
}
|
||||
|
||||
public virtual void StartCicycleAnimation(string animationName)
|
||||
{
|
||||
if (GraphicsComponent.GetCurrentAnimation != animationName)
|
||||
{
|
||||
GraphicsComponent.StartAnimation(animationName);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -2,7 +2,7 @@
|
|||
using DangerousD.GameCore.GameObjects.MapObjects;
|
||||
using Microsoft.Xna.Framework;
|
||||
using DangerousD.GameCore.GameObjects.LivingEntities.Monsters;
|
||||
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace DangerousD.GameCore.Levels
|
||||
{
|
||||
|
@ -11,10 +11,15 @@ namespace DangerousD.GameCore.Levels
|
|||
public void InitLevel()
|
||||
{
|
||||
new Player(new Vector2(80,0));
|
||||
|
||||
var Zombie = new Zombie(new Vector2(140, 128));
|
||||
var Frank = new Frank(new Vector2(384, 128));
|
||||
|
||||
var Spider = new Spider(new Vector2(112, 0));
|
||||
var FlameSkull = new FlameSkull(new Vector2(512, 0));
|
||||
var Werewolf = new Werewolf(new Vector2(640, 0));
|
||||
var Ghost = new Ghost(new Vector2(730, 0));
|
||||
var FrankBalls = new FrankBalls(new Vector2(Frank.Pos.X, Frank.Pos.Y));
|
||||
|
||||
new GrassBlock(new Vector2(0, 224));
|
||||
for (int i = 0; i < 50; i++)
|
||||
{
|
||||
|
|
Loading…
Add table
Reference in a new issue