打地鼠2D游戏Unity制作

在这里插入图片描述
在Free Aspect的视窗下,图片的显示不完全。如上图
在这里插入图片描述
于是我们根据图片的清晰度来自定义添加一个视窗尺寸,如下图
在这里插入图片描述
设置完视窗尺寸,再将Camera的尺寸设置成 700(清晰度的高)/2/100=3.48, 因为图片本身的pixels per unit就是100,如下面两幅图
在这里插入图片描述在这里插入图片描述
将农场图片放在0层
在这里插入图片描述
然后再将鼠洞素材导入,将其放在1层,才能看见鼠洞
在这里插入图片描述
将两种状态地鼠的素材导入
在这里插入图片描述
再将二者均拖成预制体
在这里插入图片描述
给普通状态的地鼠加上2D的碰撞器
在这里插入图片描述
为点击地鼠使其变成红肿状态写一个脚本HitMe,即在点击时使用实例化即可,此处要注意Instantiate和Destroy的顺序不可变
在这里插入图片描述
写好后,将脚本拖给普通地鼠预制体,再将红肿地鼠预制体赋给脚本实例化对象
在这里插入图片描述
写一个Dead脚本赋给红肿地鼠,使其在0.1秒后消失
在这里插入图片描述
再写一个BackHole脚本给普通地鼠,使其如果没有受到攻击,会在0.8秒后钻回去(消失)
在这里插入图片描述
Create脚本是为了产生随机位置的普通地鼠,Born函数使用Random.Range产生随机数的方式选择每次产生的位置,使用InvokeRepeating来重复Born这个函数。 ps: Vector3.zero=(0,0,0)
在这里插入图片描述
创建一个空物体叫作CreateTarget,将 Create脚本赋给它即可。
在这里插入图片描述
创建一个Text,参数设置如下:

在这里插入图片描述
效果如下图:
在这里插入图片描述
创建一个C#脚本ScoreCount,将基本分(一个静态变量)设为50,并完成Text对分数的显示。
在这里插入图片描述
创建一个空物体叫作GameController,将ScoreCount脚本拖给它
在这里插入图片描述
再回到BackHole脚本中,如果score不为零,那么地鼠每销毁一只就会减一分
在这里插入图片描述
但是这样就无法算出真实的分数,那么回到HitMe脚本中,只要地鼠因击中而销毁一次,便会加回一分,前提也是score不为零时
在这里插入图片描述
再创建一个Text,作为最后的GameOver!的显示,Text暂时空出来。在这里插入图片描述
回到ScoreCount脚本,当score等于零时,便将"Game Over!"字串赋给Text
在这里插入图片描述
给两个状态地鼠的预制体都加上Audio Source,将音频appear和beaten分别拖给两个预制体
在这里插入图片描述
并将两个预制体中Audio Source的Play On Awake分别勾上,制作出地鼠出洞和被击中时的音效
在这里插入图片描述
最后,将背景音乐序列01直接拖给Main Camera。
在这里插入图片描述
且将Main Camera中Audio Source的Loop也勾上,如下图。即可顺利在游戏中播放。
在这里插入图片描述
全部游戏制作完成。

总结:
1.可以实现地鼠被击中后红肿并消失,以及未被击中后回洞的程序;
2.无法实现分数的自然减少,只能通过减一分增一分的方式来进行计分,这是不足;
3.无法实现游戏的重新开始,这是另一不足;

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值