Daily upload on 20221019.
This commit is contained in:
@@ -0,0 +1,181 @@
|
||||
using OpenTK;
|
||||
using OpenTK.Input;
|
||||
using StgSharp_Entity;
|
||||
using StgSharp_Logic;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace StgSharp_Entity
|
||||
{
|
||||
internal class Player:LinkedTarget
|
||||
{
|
||||
private uint gameTick;
|
||||
private uint beginTick;
|
||||
|
||||
private readonly float _velocityHigh;
|
||||
private readonly float _vHighCorner;
|
||||
|
||||
public float VelocityHigh
|
||||
{
|
||||
get { return _velocityHigh; }
|
||||
}
|
||||
|
||||
private readonly float _velocityLow;
|
||||
private readonly float _vLowCorner;
|
||||
|
||||
public float VelocityLow
|
||||
{
|
||||
get { return _velocityLow; }
|
||||
}
|
||||
|
||||
private float _xLocation;
|
||||
|
||||
public float XLocation
|
||||
{
|
||||
get { return _xLocation; }
|
||||
set { _xLocation = value; }
|
||||
}
|
||||
|
||||
public float _yLocation;
|
||||
public float YLocation
|
||||
{
|
||||
get { return _yLocation; }
|
||||
set { _yLocation = value; }
|
||||
}
|
||||
|
||||
private KeyboardState _keyboardState;
|
||||
|
||||
public KeyboardState KeyboardState
|
||||
{
|
||||
get { return _keyboardState; }
|
||||
set { _keyboardState = value; }
|
||||
}
|
||||
|
||||
|
||||
public Player(float velocityHigh,float velocityLow,KeyboardState keyboardState)
|
||||
{
|
||||
this._velocityHigh = velocityHigh;
|
||||
this._vHighCorner = velocityHigh / 1.4142136f;
|
||||
this._velocityLow = velocityLow;
|
||||
this._vLowCorner = velocityLow / 1.4142136f;
|
||||
this._keyboardState = keyboardState;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public void Action()
|
||||
{
|
||||
if (_keyboardState.IsAnyKeyDown)
|
||||
{
|
||||
Move();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 自机移动的简单方法
|
||||
/// </summary>
|
||||
public void Move()
|
||||
{
|
||||
if (_keyboardState.IsKeyDown(Key.ShiftLeft))
|
||||
{
|
||||
if (_keyboardState.IsKeyDown(Key.Up))
|
||||
{
|
||||
if (_keyboardState.IsKeyDown(Key.Left))
|
||||
{
|
||||
this._yLocation += _vLowCorner;
|
||||
this._xLocation -= _vLowCorner;
|
||||
}
|
||||
else if (_keyboardState.IsKeyDown(Key.Right))
|
||||
{
|
||||
this._yLocation += _vLowCorner;
|
||||
this._xLocation += _vLowCorner;
|
||||
}
|
||||
else
|
||||
{
|
||||
this._yLocation += _velocityLow;
|
||||
}
|
||||
}
|
||||
else if (_keyboardState.IsKeyDown(Key.Down))
|
||||
{
|
||||
if (_keyboardState.IsKeyDown(Key.Left))
|
||||
{
|
||||
this._yLocation -= _vLowCorner;
|
||||
this._xLocation -= _vLowCorner;
|
||||
}
|
||||
else if (_keyboardState.IsKeyDown(Key.Right))
|
||||
{
|
||||
this._yLocation -= _vLowCorner;
|
||||
this._xLocation += _vLowCorner;
|
||||
}
|
||||
else
|
||||
{
|
||||
this._yLocation -= _velocityLow;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (_keyboardState.IsKeyDown(Key.Up))
|
||||
{
|
||||
if (_keyboardState.IsKeyDown(Key.Left))
|
||||
{
|
||||
this._yLocation += _vHighCorner;
|
||||
this._xLocation -= _vHighCorner;
|
||||
}
|
||||
else if (_keyboardState.IsKeyDown(Key.Right))
|
||||
{
|
||||
this._yLocation += _vHighCorner;
|
||||
this._xLocation += _vHighCorner;
|
||||
}
|
||||
else
|
||||
{
|
||||
this._yLocation += _velocityHigh;
|
||||
}
|
||||
}
|
||||
else if (_keyboardState.IsKeyDown(Key.Down))
|
||||
{
|
||||
if (_keyboardState.IsKeyDown(Key.Left))
|
||||
{
|
||||
this._yLocation -= _vHighCorner;
|
||||
this._xLocation -= _vHighCorner;
|
||||
}
|
||||
else if (_keyboardState.IsKeyDown(Key.Right))
|
||||
{
|
||||
this._yLocation -= _vHighCorner;
|
||||
this._xLocation += _vHighCorner;
|
||||
}
|
||||
else
|
||||
{
|
||||
this._yLocation -= _velocityHigh;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public void UseSkill(KeyboardState key)
|
||||
{
|
||||
if (key.IsKeyDown(Key.X))
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public void LaunchBullet(KeyboardState key)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public void Die()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user