started vertical shoot
This commit is contained in:
parent
5db6cee0fa
commit
5bd2b7d93b
4 changed files with 44 additions and 13 deletions
1
DangerousD/Content/animations/playerShootUpLeft
Normal file
1
DangerousD/Content/animations/playerShootUpLeft
Normal file
|
@ -0,0 +1 @@
|
||||||
|
{"id":"playerShootUpLeft","textureName":"playerAnimation","startSpriteRectangle":{"X":267,"Y":34,"Width":24,"Height":32},"frameSecond":[{"Item1":0,"Item2":12}],"textureFrameInterval":1,"framesCount":1,"isCycle":true,"offset":"0, 0"}
|
1
DangerousD/Content/animations/playerShootUpRight
Normal file
1
DangerousD/Content/animations/playerShootUpRight
Normal file
|
@ -0,0 +1 @@
|
||||||
|
{"id":"playerShootUpRight","textureName":"playerAnimation","startSpriteRectangle":{"X":267,"Y":1,"Width":24,"Height":32},"frameSecond":[{"Item1":0,"Item2":12}],"textureFrameInterval":1,"framesCount":1,"isCycle":true,"offset":"0, 0"}
|
|
@ -8,6 +8,7 @@ using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using DangerousD.GameCore.Managers;
|
using DangerousD.GameCore.Managers;
|
||||||
|
using DangerousD.GameCore.GameObjects;
|
||||||
|
|
||||||
namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters
|
namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters
|
||||||
{
|
{
|
||||||
|
@ -24,7 +25,7 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters
|
||||||
{
|
{
|
||||||
Width = 24;
|
Width = 24;
|
||||||
Height = 40;
|
Height = 40;
|
||||||
monster_speed = 3;
|
monster_speed = 2;
|
||||||
name = "Zombie";
|
name = "Zombie";
|
||||||
monster_health = 2;
|
monster_health = 2;
|
||||||
leftBorder = (int)position.X - 100;
|
leftBorder = (int)position.X - 100;
|
||||||
|
@ -133,7 +134,7 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters
|
||||||
|
|
||||||
public void Target()
|
public void Target()
|
||||||
{
|
{
|
||||||
if (AppManager.Instance.GameManager.physicsManager.CheckRectangle(new Rectangle((int)Pos.X - 50, (int)Pos.Y, Width + 100, Height), typeof(Player)).Count > 0)
|
if (AppManager.Instance.GameManager.physicsManager.CheckRectangle(new Rectangle((int)Pos.X - 50, (int)Pos.Y, Width + 200, Height), typeof(Player)).Count > 0)
|
||||||
{
|
{
|
||||||
if(isGoRight && this._pos.X <= AppManager.Instance.GameManager.players[0].Pos.X)
|
if(isGoRight && this._pos.X <= AppManager.Instance.GameManager.players[0].Pos.X)
|
||||||
{
|
{
|
||||||
|
@ -183,5 +184,5 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters
|
||||||
Death();
|
Death();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
|
@ -32,7 +32,7 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities
|
||||||
public bool isUping = false;
|
public bool isUping = false;
|
||||||
private int shootLength = 160;
|
private int shootLength = 160;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public int Bullets { get { return bullets; } }
|
public int Bullets { get { return bullets; } }
|
||||||
|
|
||||||
|
@ -49,7 +49,7 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities
|
||||||
AppManager.Instance.InputManager.MovEventDown += MoveDown;
|
AppManager.Instance.InputManager.MovEventDown += MoveDown;
|
||||||
}
|
}
|
||||||
|
|
||||||
velocity = new Vector2(0, 0);
|
velocity = new Vector2(0, 0);
|
||||||
rightBorder = (int)position.X + 100;
|
rightBorder = (int)position.X + 100;
|
||||||
leftBorder = (int)position.X - 100;
|
leftBorder = (int)position.X - 100;
|
||||||
bullets = 5;
|
bullets = 5;
|
||||||
|
@ -70,7 +70,7 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities
|
||||||
public bool IsAlive { get { return isAlive; } }
|
public bool IsAlive { get { return isAlive; } }
|
||||||
|
|
||||||
protected override GraphicsComponent GraphicsComponent { get; } = new(new List<string> { "playerMoveLeft", "playerMoveRight", "DeathFromZombie", "playerRightStay", "playerStayLeft",
|
protected override GraphicsComponent GraphicsComponent { get; } = new(new List<string> { "playerMoveLeft", "playerMoveRight", "DeathFromZombie", "playerRightStay", "playerStayLeft",
|
||||||
"playerJumpRight" , "playerJumpLeft", "playerShootLeft", "playerShootRight", "playerReload", "smokeAfterShoot"}, "playerReload");
|
"playerJumpRight" , "playerJumpLeft", "playerShootLeft", "playerShootRight", "playerReload", "smokeAfterShoot", "playerShootUpRight", "playerShootUpLeft"}, "playerReload");
|
||||||
|
|
||||||
public void Attack()
|
public void Attack()
|
||||||
{
|
{
|
||||||
|
@ -98,7 +98,7 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
isAttacked = true;
|
isAttacked = true;
|
||||||
if(monsterName == "Zombie")
|
if (monsterName == "Zombie")
|
||||||
{
|
{
|
||||||
AnimationRectangle deathRectangle = new AnimationRectangle(Pos, "DeathFrom" + monsterName);
|
AnimationRectangle deathRectangle = new AnimationRectangle(Pos, "DeathFrom" + monsterName);
|
||||||
deathRectangle.Gr.actionOfAnimationEnd += (a) =>
|
deathRectangle.Gr.actionOfAnimationEnd += (a) =>
|
||||||
|
@ -109,7 +109,7 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
else if(monsterName == "Spider")
|
else if (monsterName == "Spider")
|
||||||
{
|
{
|
||||||
AnimationRectangle deathRectangle = new AnimationRectangle(Pos, "DeathFrom" + monsterName);
|
AnimationRectangle deathRectangle = new AnimationRectangle(Pos, "DeathFrom" + monsterName);
|
||||||
deathRectangle.Gr.actionOfAnimationEnd += (a) =>
|
deathRectangle.Gr.actionOfAnimationEnd += (a) =>
|
||||||
|
@ -144,7 +144,7 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities
|
||||||
{
|
{
|
||||||
StartCicycleAnimation("playerShootRight");
|
StartCicycleAnimation("playerShootRight");
|
||||||
var targets = AppManager.Instance.GameManager.physicsManager.CheckRectangle(new Rectangle((int)Pos.X, (int)(Pos.Y - 10f), shootLength + 24, 10), typeof(Zombie)).OrderBy(x => (x.Pos - Pos).LengthSquared());
|
var targets = AppManager.Instance.GameManager.physicsManager.CheckRectangle(new Rectangle((int)Pos.X, (int)(Pos.Y - 10f), shootLength + 24, 10), typeof(Zombie)).OrderBy(x => (x.Pos - Pos).LengthSquared());
|
||||||
if (targets != null)
|
if (targets.Count() > 0)
|
||||||
{
|
{
|
||||||
Zombie targetZombie = (Zombie)targets.First();
|
Zombie targetZombie = (Zombie)targets.First();
|
||||||
targetZombie.TakeDamage();
|
targetZombie.TakeDamage();
|
||||||
|
@ -184,7 +184,7 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities
|
||||||
FallingThroughPlatform = false;
|
FallingThroughPlatform = false;
|
||||||
}
|
}
|
||||||
GraphicsComponent.SetCameraPosition(Pos);
|
GraphicsComponent.SetCameraPosition(Pos);
|
||||||
if (!isAttacked || AppManager.Instance.InputManager.InvincibilityCheat)
|
if (!isAttacked || AppManager.Instance.InputManager.InvincibilityCheat)
|
||||||
{
|
{
|
||||||
if (!isShooting)
|
if (!isShooting)
|
||||||
{
|
{
|
||||||
|
@ -227,7 +227,7 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities
|
||||||
}
|
}
|
||||||
else if (AppManager.Instance.InputManager.VectorMovementDirection.X == 0)//стоит
|
else if (AppManager.Instance.InputManager.VectorMovementDirection.X == 0)//стоит
|
||||||
{
|
{
|
||||||
if(bullets < 5)
|
if (bullets < 5)
|
||||||
{
|
{
|
||||||
if (GraphicsComponent.GetCurrentAnimation != "playerReload")
|
if (GraphicsComponent.GetCurrentAnimation != "playerReload")
|
||||||
{
|
{
|
||||||
|
@ -236,11 +236,31 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities
|
||||||
}
|
}
|
||||||
else if (isRight)
|
else if (isRight)
|
||||||
{
|
{
|
||||||
GraphicsComponent.StartAnimation("playerRightStay");
|
if (isUping)
|
||||||
|
{
|
||||||
|
if (GraphicsComponent.GetCurrentAnimation != "playerShootUpRight")
|
||||||
|
{
|
||||||
|
GraphicsComponent.StartAnimation("playerShootUpRight");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
GraphicsComponent.StartAnimation("playerRightStay");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if (!isRight)
|
else if (!isRight)
|
||||||
{
|
{
|
||||||
GraphicsComponent.StartAnimation("playerStayLeft");
|
if (isUping)
|
||||||
|
{
|
||||||
|
if (GraphicsComponent.GetCurrentAnimation != "playerShootUpLeft")
|
||||||
|
{
|
||||||
|
GraphicsComponent.StartAnimation("playerShootUpLeft");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
GraphicsComponent.StartAnimation("playerStayLeft");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -256,5 +276,13 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities
|
||||||
isOnGround = false;
|
isOnGround = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public class Bullet : GameObjects.LivingEntity
|
||||||
|
{
|
||||||
|
public Bullet(Vector2 position) : base(position)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
protected override GraphicsComponent GraphicsComponent { get; } = new("ZombieMoveLeft");
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue