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.Threading.Tasks;
|
||||
using DangerousD.GameCore.Managers;
|
||||
using DangerousD.GameCore.GameObjects;
|
||||
|
||||
namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters
|
||||
{
|
||||
|
@ -24,7 +25,7 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters
|
|||
{
|
||||
Width = 24;
|
||||
Height = 40;
|
||||
monster_speed = 3;
|
||||
monster_speed = 2;
|
||||
name = "Zombie";
|
||||
monster_health = 2;
|
||||
leftBorder = (int)position.X - 100;
|
||||
|
@ -133,7 +134,7 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters
|
|||
|
||||
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)
|
||||
{
|
||||
|
|
|
@ -70,7 +70,7 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities
|
|||
public bool IsAlive { get { return isAlive; } }
|
||||
|
||||
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()
|
||||
{
|
||||
|
@ -144,7 +144,7 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities
|
|||
{
|
||||
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());
|
||||
if (targets != null)
|
||||
if (targets.Count() > 0)
|
||||
{
|
||||
Zombie targetZombie = (Zombie)targets.First();
|
||||
targetZombie.TakeDamage();
|
||||
|
@ -235,15 +235,35 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities
|
|||
}
|
||||
}
|
||||
else if (isRight)
|
||||
{
|
||||
if (isUping)
|
||||
{
|
||||
if (GraphicsComponent.GetCurrentAnimation != "playerShootUpRight")
|
||||
{
|
||||
GraphicsComponent.StartAnimation("playerShootUpRight");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
GraphicsComponent.StartAnimation("playerRightStay");
|
||||
}
|
||||
}
|
||||
else if (!isRight)
|
||||
{
|
||||
if (isUping)
|
||||
{
|
||||
if (GraphicsComponent.GetCurrentAnimation != "playerShootUpLeft")
|
||||
{
|
||||
GraphicsComponent.StartAnimation("playerShootUpLeft");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
GraphicsComponent.StartAnimation("playerStayLeft");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (AppManager.Instance.multiPlayerStatus != MultiPlayerStatus.SinglePlayer)
|
||||
{
|
||||
NetworkTask task = new NetworkTask(id, Pos);
|
||||
|
@ -256,5 +276,13 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities
|
|||
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