Unity开发日记【第十一天】——单向平台、音效整理与游戏生成

目录

一、单向平台

二、音效管理

三、游戏生成


一、单向平台

在2D平台游戏中常常有单向平台,这里我们尝试实现单向平台,首先把新的单向平台画到新的Tilemap中,然后我们找到一个组件Platform Effector 2D,这是一个制作单向平台的现成的组件我们要做的就是设置好这个组件。

勾选这里的由效果器使用

 

这样就生成了一个扇形,代表我们可以从上面踩在这个平台上 

然后在组件Platform Effector 2D中取消使用碰撞器遮罩,然后点击使用单向

这样我们就实现了一个可以从下面跳上去的平台。

二、音效管理

我们在实现音效的时候,我们给玩家挂载了很多音效组件,十分难以管理,所以我们尝试使用别的方法统一管理

 

 我们创建一个空的对象SoundManger并为其添加代码

然后添加一个音源组件,我们希望我们在使用音效的时候可以自动把那个音效放到这个组件,然后我们把之前挂载在游戏角色上的音效组件全部删除。

 然后我们要开始写代码:(这里以跳跃音效为例)

    public AudioSource audioSource;
    public AudioClip jumpAudio;

 我们声明这样两种变量第一个变量用来挂载我们刚刚加入的AudioSource组件,另外的一个变量挂载对应的音源片段

代码实现如下:

    public void JumpAudio()
    {
        audioSource.clip = jumpAudio;
        audioSource.Play();
    }

这样我们就实现了在需要对应音效的时候,把对应的声音加载到AudioSource中,我们之前是在角色控制的脚本中直接调用这个音源的。

所以我们现在如果想要调用的话,我们就需要调用别的类的函数,所以我们就需要像之间实现敌人的效果一样创建一个别的类的对象。

SoundManger soundManger = gameObject.GetComponent<SoundManger>();
soundManger.JumpAudio();

 但是这样其实并没有比原来方便多少,所以我们用静态类的方法来实现,这样会方便很多,但是注意静态类会一直占用内存,也算是一个不好的地方(注:静态类一般不推荐使用)

在SoundManger中声明一个静态类的实体

public static SoundManger instance;

然后在游戏一开始的时候初始化

    public void Awake()
    {
        instance = this;
    }

 这样我们角色控制的代码就可以改成

SoundManger.instance.JumpAudio();

这样我们就成功访问到函数了。

同时我们也可以使用instance来访问类中的变量,我们可以把变量改成private的类型,但是我们希望在private的类型的同时,可以在Unity的窗口来拖拽Audio Clip给不同的变量我们需要加一个头命令:

[SerializeField]
private AudioClip jumpAudio

 这样即使是private我们也可以在Unity的界面通过拖拽来把音效片段导入,其他的音效也可以使用上面的方法加进来(我们不需要新建AudioSource)

 但是统一管理也会带来一些问题就是我们无法分开对音效的音量处理,且我们不能同时播放声音。因为我们只有一个AudioSource组件,我们还是需要创建多个SoundManger分组管理音效,所以如何选择就看个人的选择了。

三、游戏生成

经过这么多天我们终于要开始生成我们最后的游戏了,我们首先要先进行一些设置

首先在左上角,进入文件 > 生成设置

这里可以选择我们生成的平台

这里我选择了64位的Windows平台

 

然后点击左下角的玩家设置

 在这个窗口要填写一些基本信息,比如游戏名字、公司、图标、光标样子等等,可以自己看着自己的需要对这个页面进行调整,这里没有什么一定要修改的,自己按照需求改就可以。

我们可以进入质量这个界面设置玩家可以选择的图像质量的级别

 这样我们就准备好了,回到生成设置界面,点击右下角的生成 

 经过等待后就生成完毕了,我们就可以尝试着游玩啦!

最后我制作的游戏的链接:https://github.com/night13567/The-adventures-of-Little-Fox

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值