今天心血来潮,想搞个小游戏玩玩,就它——接水果!
我琢磨着,这游戏应该不难,不就一个碗在底下左右移动,然后水果从上面掉下来嘛说干就干,我先去网上找些图片素材,搞个碗,还有苹果、香蕉、橘子啥的。
准备工作
有素材,接下来就是搭场景。我打开Unity,搞个2D项目。把背景弄成蓝色,看起来像天空。然后把碗的图片拖进去,变成一个游戏对象。再把水果图片也拖进去,做几个预制体,方便后面生成。
让碗动起来
有碗,得让它能动!我写个简单的脚本,挂到碗上。
小编温馨提醒:本站只提供游戏介绍,下载游戏推荐89游戏,89游戏提供真人恋爱/绅士游戏/3A单机游戏大全,点我立即前往》》》绅士游戏下载专区
- 先定义一个变量,表示碗移动的速度。
- 然后在
Update
函数里,获取键盘输入。如果按下左箭头,碗就往左移动;按下右箭头,就往右移动。 - 为不让碗跑出屏幕,我还加个限制,判断碗的位置,不让它超出边界。
让水果掉下来
碗能动,接下来就该让水果掉下来。我又写个脚本,用来生成水果。
- 我弄个数组,把水果的预制体都放进去。
- 然后用一个计时器,每隔一段时间,就随机选择一个水果,在屏幕上方随机一个位置生成。
- 生成的水果,给它加个刚体组件,再加个碰撞体,这样它就能受重力影响往下掉,还能跟碗碰撞。
碰撞检测
水果能掉,碗也能动,接下来就是让它们能“互动”起来。我在碗的脚本里加个碰撞检测。
- 用
OnCollisionEnter2D
函数,检测碗是不是碰到水果。 - 如果碰到,就把水果销毁掉,表示接住。
- 我还加个分数变量,每接到一个水果,分数就加1。
显示分数
有分数,得把它显示出来!我在场景里加个UI Text,用来显示分数。
- 在碗的脚本里,获取到这个Text组件。
- 每次分数变化后,就更新Text的内容,把分数显示出来。
游戏结束
我加个简单的游戏结束逻辑。如果一段时间内没接到水果,或者水果掉到屏幕下面去,游戏就结束。
- 我又加个计时器,如果一段时间内没接到水果,游戏就结束。
- 在水果的脚本里,加个判断,如果水果的位置低于屏幕下方,游戏也结束。
- 游戏结束后,弹出一个提示框,显示“游戏结束”和最终得分。
搞定!虽然简陋点,但基本功能都有,能跑起来。看着自己做的小游戏,还挺有成就感的!