首先在包管理器中添加 input System
重启后进入编辑项目中 找到玩家-配置
将Api兼容级别 改成 .NET Framework
活动输出处理改成 输入系统包(新)
创建瓦片地图矩形 添加调色板
为瓦片地图添加Tilemap Collider 2D组件以及Composite Collider 2D(会自动添加Rigidbody 2d组件)组件
将Tilemap Collider 2D 又复合使用勾选上 瓦片地图的碰撞体积会变为一整块
以及将Rigidbody 2d 的身体类型改为静态的
在项目中创建一个Input Actions并打开
设置并保存
点击input Action Asset
生成Generate C# Class
新建一个人物控制脚本添加到控制人物上 代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.InputSystem;
public class playcontrll : MonoBehaviour
{
[Header("玩家参数")]
public float speed;
private Playc inputActions; //刚刚生成的Input Action Asset Class
private Rigidbody2D rb2;private Vector2 dic;private void Awake()
{inputActions = new Playc();rb2 = GetComponent<Rigidbody2D>();
}private void OnEnable()
{inputActions.Enable();
}private void OnDisable()
{inputActions.Disable();
}private void Update()
{dic = inputActions.play.move.ReadValue<Vector2>();
}private void FixedUpdate()
{Move();
}
private void Move()
{rb2.velocity = new Vector2(dic.x * speed * Time.deltaTime, rb2.velocity.y);
}
}