【Unity】从0到1的横版2d制作笔记-DAY3

确定碰撞体积

选择rigidbody2d,创建player重力
创建player碰撞体积
创建瓦片地图碰撞体积
使平台变成一个整体
设置Body Type为Static(避免平台也因为重力影响下落)
回到Player,在Rigidbody2D中设置为冻结旋转


Player设置参考

Platform设置参考

我做的时候其实是有一点bug的,比如在设置碰撞体积的时候即使两个都有碰撞体积(平台和人物),也是会一直下坠的,结果后来发现原因是因为平台和人物位置设定的有问题。乍一看没什么,但是事实上人物的脚在平台的里面的位置,所以会一直掉下去。 修改一下位置即可。

使用Input System来监听用户输入

zsbd

添加PlayerController
添加

修改Configuration
windows->Packet Manager

创建配置文件
zbsd
zsbd
如果想要创建一套手柄的输入法


创建一个keyboard和gamepad


做完保存然后删除inputcontrols(没错 只是练习qvq)

使用Unity的Input Control来控制人物移动

选择create actions,将创建的文件存档Input System文件夹

PlayerController.cs

cs 复制代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.InputSystem;

public class PlayerController : MonoBehaviour
    //继承在MonoBehavior类中
{
    // Start is called before the first frame update
    public PlayerInputControl inputControl;
    public Vector2 inputDirection;//存储Vector2变量
    private void Awake()
    {
        inputControl = new PlayerInputControl();
        //实例化
    }
    private void OnEnable()
    {
        inputControl.Enable();
    }
    private void OnDisable()
    {
        inputControl.Disable();
    }
    private void Update()
    {
        inputDirection = inputControl.Gameplay.Move.ReadValue<Vector2>();
    }
}
相关推荐
ajsbxi12 小时前
【Java 基础】核心知识点梳理
java·开发语言·笔记
呱呱巨基13 小时前
vim编辑器
linux·笔记·学习·编辑器·vim
新子y13 小时前
【小白笔记】普通二叉树(General Binary Tree)和二叉搜索树的最近公共祖先(LCA)
开发语言·笔记·python
聪明的笨猪猪13 小时前
Java JVM “调优” 面试清单(含超通俗生活案例与深度理解)
java·经验分享·笔记·面试
爱学习的uu13 小时前
CURSOR最新使用指南及使用思路
人工智能·笔记·python·软件工程
YuCaiH13 小时前
Linux文件处理
linux·笔记·嵌入式
Cathy Bryant13 小时前
大模型损失函数(二):KL散度(Kullback-Leibler divergence)
笔记·神经网络·机器学习·数学建模·transformer
qq_3985865414 小时前
Threejs入门学习笔记
javascript·笔记·学习
hour_go14 小时前
TCP/IP协议相关知识点
网络·笔记·网络协议·tcp/ip
潘达斯奈基~15 小时前
在使用spark的applyInPandas方法过程中,遇到类型冲突问题如何解决
大数据·笔记