抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

一、背景滚动实现方法

  • 创建一个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

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

评论