Unity 运用新输入方法进行移动 (input System)
首先在包管理器中添加 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);
}
}
                    
                
                
            
        
浙公网安备 33010602011771号