Unity 愤怒的小鸟

1.spring joint 2D组件

       弹簧关节。就是弹弓上伸缩弹性的绳子,添加组件会自动加一个刚体组件,把这个组件加在小鸟身上
2.弹弓添加刚体组件Rigibody 2D,把Body Type 改成static,意思是只让他挂组件,不让他受重力

       --世界坐标是以屏幕中心为原点,左负右正,下负上正
       --屏幕坐标是以屏幕左下角为原点上正下负 ; 屏幕坐标转世界坐标ScreenToWorldPoint();

3.小鸟的拖拽
      在小鸟身上加上spring joint 2D组建后,写脚本。

 写好后发现小鸟不会出现在屏幕上,因为小鸟现在是世界坐标,我们看到的是屏幕坐标,需要进行转换,同时固定好z轴。

 

 

 4.小鸟拖拽最大距离的限制

 

      如下图,我们需要弹弓绳这个被限制的向量(有方向有长度),长度就是A(小鸟的位置)减去B(原点的位置), 当我们需要的是方向,因为长度(maxDis)我们可以自由设置

 

 

5.小鸟飞出操作

就是让spring joint 2D组件失活

先获取spring joint 2D组件

 

 

 然后让鼠标松开就把组件false掉

 

 6.猪死亡爆炸特效

准备工作:选中素材中的几张爆炸图片拖到层级窗口做成动画后,把它做成预制体(命名为boom)。

可以在boom上添加个脚本写个destory()方法,在他动画最后一帧上添加个事件,选择上destory()方法,用来销毁。(爆炸后自动销毁)。

也可以不写脚本,设置让它在多长时间后销毁。

在猪的代码中public GameObject Boom,(别忘了在unity中把boom拖进去)

在猪死亡时,Instantiate一下boom'即可。

7.

实现多只小鸟
①. 先在场景中Ctrl+d复制出多只小鸟
②. 然后新建一个空物体用来管理小鸟,取名gamemanager',先获取到多只小鸟,用List。piblic List<Bird> birds; 在获取到猪。(因为建的是List集合,所以在unity中要把小鸟按顺序拖进gamemanager'中的birds中)

 

 


③. 写一个方法(instance)让除了第一只小鸟以外的鸟 spring joint 2D组件和bird脚本组件失活

写一个方法用来判断游戏逻辑,只要猪的数量小于零就胜利,否则下一只小鸟飞

④. 写一个方法控制下一只小鸟的飞出,先调用第一支小鸟的方法,把他remove掉。GameManager._instance.birds.Remove(this),然后调那个逻辑方法。

 

5.添加失败、胜利界面
先新建一个UI的Image,把胜利win、失败lose界面搭建好,然后给这个界面添加(Ctrl+6)一个动画,选一个color,实现一个由明到暗的效果

 控制color中a的值设置明暗

 把失败和胜利的界面建好后,在GameManager中写一个显示星星的方法(GameManager控制总逻辑,赢了还是输了),在胜利界面下建一个脚本用来显示星星,调用GameManager中的显示星星方法

 

 

 

在胜利动画最后一帧创建一个事件,把现实星星的函数放心去

 一切准备就绪后,在GameManager中控制这两个界面的显示,先获取

默认这两个界面都是关闭的,所以只需要在胜利/失败后激活它们即可

 最后在GameManager中设置一下

 胜利的界面会有三课星星,根据剩余的小鸟数量获得星星。

实现i星星一颗一颗的显示

建个数组接收一下星星

然后再写个携程让星星一颗一颗的显示

 6.添加鼠标注册事件

就是给“重新开始”、“返回菜单”添加事件。

画好UI后

 给这两个Image添加Button组件,选中写好的方法(方法写在GameManager中)

 7.选择关卡

先搭好UI

 

关卡需要指定数量星星开启,所以需要存储星星的数量用unity自带的(键值对存储,一个键对应一个值)

 

 

开启关卡的游戏逻辑(存储星星数量大于关卡所需数量)

 8.每个小关卡

画UI添加一个Grip组的组件管理每个小关卡间距、行高什么的

 写脚本控制每一关的选择

 大关卡与小关卡的交互

 

posted on   Red_kucha  阅读(433)  评论(0编辑  收藏  举报

(评论功能已被禁用)
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示