人物移动
`
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Player : MonoBehaviour
{
// Start is called before the first frame update
public float speed;
Rigidbody2D rb;
bool faceRight = true;
void Start()
{
rb = GetComponent
}
// Update is called once per frame
void Update()
{
float input = Input.GetAxisRaw("Horizontal");//不动为0,向右为1,向左为-1
rb.velocity = new Vector2(input*speed,rb.velocity.y);
if (input>0 && faceRight==false)
{
Flip();
}else if (input<0 && faceRight == true)
{
Flip();
}
}
void Flip()
{
transform.localScale = new Vector3(-transform.localScale.x, transform.localScale.y, transform.localScale.z);
faceRight = !faceRight;
}
}
`
实现人物跳跃
`
public float speed;
Rigidbody2D rb;
bool faceRight = true;
bool isGround = true;
public Transform groundCheck;
public LayerMask whatGround;
//public Transform length;
//public float angle;
public float r;
public float jumpForce;
void Start()
{
rb = GetComponent<Rigidbody2D>();
}
// Update is called once per frame
void Update()
{
float input = Input.GetAxisRaw("Horizontal");//不动为0,向右为1,向左为-1
rb.velocity = new Vector2(input*speed,rb.velocity.y);
if (input>0 && faceRight==false)
{
Flip();
}else if (input<0 && faceRight == true)
{
Flip();
}
isGround = Physics2D.OverlapCircle(groundCheck.position, r,whatGround);//碰撞检测
if(Input.GetKeyDown(KeyCode.UpArrow) && isGround == true)
{
rb.velocity = Vector2.up * jumpForce;
}
`