横板卷轴射击游戏笔记

Niaoyu
  • unity
  • unity
大约 2 分钟

一、背景滚动实现方法

  • 创建一个3d对象Quad,重命名为SimpleBackground,调整好大小(跟图片差不多大)

  • 新建一个材质,设置shader为Unlit/Textu

    image-20220525113508926

  • 将图片texture type设置为default,拖入材质。

    image-20220525114905000

  • 将材质拖进SimpleBackground,这样就做好了背景。

  • 通过实时更改材质中offset偏移值,来实现滚动效果

    image-20220525115257651

  • 滚动代码如下:将Start()改为每帧刷新的协程(模拟Update())

	Material material;
    [SerializeField] Vector2 scrollVelocity;//速度
    void Awake()
    {
        material = GetComponent<Renderer>().material;
    }
    private IEnumerator Start()
    {
        while (GameManager.GameState != GameState.GameOver)
            //游戏状态不为gameover可运行场景滚动
        {
            material.mainTextureOffset += scrollVelocity * Time.deltaTime;
            yield return null;
        }
    }

二、Input System动作输入系统

Input System(安装包)实现了一个,可使用任何类型输入设备来控制unity内容的系统。它旨在替代unity旧的输入管理器(UnityEngine.Input类),并且更为强大,灵活易用。

安装输入系统

Window->Pacjage Manager->UnityRegistry(搜索input)->安装

image-20220525193119457

image-20220525193205846

实现功能

新建InputActions文件

image-20220525193424028

打开InputActions,绑定输入信号。

image-20220526133600652

创建c#文件,注意名字可自定,我取名为PlayerInputActions。

image-20220527165032291

新建一个PlayInput类,继承于ScriptableObject,//ScriptableObject:一个类,如果需要创建【无需附加到游戏对象】的对象时,可从该类派生。【】表示强调。继承PlayerInputActions类中的几个接口,实现接口。

image-20220527173825594

未完待续...(因为是好早之前看视频学的,详细的内容得去重看视频再补,目前还没那个时间)

Loading...