【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>();
    }
}
相关推荐
挨踢学霸3 小时前
技术全面重构|MsgHelper 新版深度拆解:交互、视觉与逻辑的底层优化(二)
经验分享·笔记·微信·架构·自动化
OxyTheCrack3 小时前
【C++】简述Observer观察者设计模式附样例(C++实现)
开发语言·c++·笔记·设计模式
Fuliy963 小时前
第三阶段:进化与群体智能 (Evolutionary & Swarm Intelligence)
人工智能·笔记·python·学习·算法
白云偷星子3 小时前
云原生笔记6
linux·运维·笔记·mysql·云原生
小陈phd3 小时前
多模态大模型学习笔记(十六)——Transformer 学习之 Decoder Only
人工智能·笔记·深度学习·学习·自然语言处理·transformer
白云偷星子3 小时前
云原生笔记5
linux·运维·笔记·云原生·tomcat
tingshuo29174 小时前
R001 记忆化搜索 ABCPATH - SPOJ 有方向的搜索
笔记
袁气满满~_~4 小时前
深度学习笔记七
笔记
智者知已应修善业4 小时前
【51单片机8位密码锁】2023-2-22
c语言·经验分享·笔记·单片机·嵌入式硬件·算法·51单片机
枷锁—sha4 小时前
【CTFshow-pwn系列】03_栈溢出【pwn 056-057】详解:32位 与64位Shellcode 与 Linux 系统调用底层原理剖析
linux·运维·网络·笔记·安全·网络安全·系统安全