1. 找到一个棒棒糖图片,拖入到unity中。
2. 将棒棒糖拖入到场景中,重命名为lolipop。
3. 给lolipop添加一个Rigidbody2D组件。
4. 创建一个C#脚本LolipopController.cs,并将其添加到lolipop游戏对象上。
5. 运行游戏, 棒棒糖由于Rigidbody2D的Body Type值为Dynamic,会自动往下掉落。
6. 按下W/S/A/D键可以左右移动棒棒糖了,按下O键可以弹跳了。
// using System.Numerics;
using UnityEngine;
public class LolipopController : MonoBehaviour
{
public float jumpForce = 5f; // 跳跃力度
public float moveSpeed = 2f; // 移动速度
private Rigidbody2D rb2d;
void Start()
{
// 获取 Rigidbody2D 组件
rb2d = GetComponent<Rigidbody2D>();
}
void Update()
{
// 跳跃
if (Input.GetKeyDown(KeyCode.O))
{
Jump();
}
// 左移
if (Input.GetKey(KeyCode.A))
{
Move(Vector2.left);
}
// 右移
if (Input.GetKey(KeyCode.D))
{
Move(Vector2.right);
}
// 上移
if (Input.GetKey(KeyCode.W))
{
Move(Vector2.up);
}
}
void Jump()
{
rb2d.velocity = new Vector2(rb2d.velocity.x, jumpForce);
}
void Move(Vector2 direction)
{
// 移动时乘以 Time.deltaTime 来使移动速度与帧速率无关
transform.Translate(direction * moveSpeed * Time.deltaTime);
}
}