1.手撸一个人物模型,如果有喜欢的人物素材也可以选择导入
(这里作者简单用方块搭了个人物)
2.根据需要添加刚体碰撞体
3.代码环节,编写代码使角色移动
核心代码
void ChickInput()
{
if (iscollider && Input.GetButtonDown("Jump"))
{
canjump = true;
}
Int_input = Input.GetAxisRaw("Horizontal");//-1 ~ 1 不包含小数
// float horizontalInput = Input.GetAxis("Horizontal");//-1 ~ 1 包含小数
}
void Jump()
{
if (canjump)
{
isjump = true;
Vector2 Force_v2 = new Vector2(Int_input * speed, jumpForce);
// rb.gravityScale = 4;
(col_for_jump)?.GetComponent<Rigidbody2D>()?.AddForce(-Force_v2 * 4, ForceMode2D.Impulse);
rb.AddForce(Force_v2, ForceMode2D.Impulse);
canjump = false;
}
}
void Movement()
{
rb.velocity = new Vector2(Int_input * speed, rb.velocity.y);
if (Int_input != 0)
{
transform.localScale = new Vector3(Int_input, 1, 1);
}
}
private void Col_check()
{
col_for_jump = Physics2D.OverlapCircle(DetectionPoint.transform.position, detect_size, layyers);
if (col_for_jump == null) iscollider = false;
else
{
iscollider = true;
isjump = false;
}
}
4,添加物理材质,消除摩擦力
5.具体演示
2D射击游戏(过程演示01)