愤怒的小鸟课程知识点提炼

愤怒的小鸟课程知识点提炼
在这里插入图片描述
想让两个物体之间有弹簧一样的弹性
首先先给两个物体添加Regidbody2D组件 然后把其中不会动的挂到会动的物体的SpringJoint2D 上的Connectd RegidBody 上 ,把不会动·的那个物体的BodyType 设置为static 使其不受重力影响
在这里插入图片描述
这里特别适合做绳子之类的摇摆物体
当我们要设置物体层级时

可以在左上角添加layer 层
然后在下面Sorting Layer选择layer 层 并在order 中设置层级

我们经常会碰到鼠标拖动场景中的物体 让物体跟随鼠标
这里面涉及到一个世界坐标和屏幕坐标的转换
2D世界坐标是 屏幕中心为原点 屏幕坐标是左下角为原点
2D 或3D 物体跟随需要物体有刚体组件 这样摄像机发出的摄线才能检测到,然后代码中有一些Unity 自己调用的检测方法 OnMouseDown OnMouseUp
UISprite 则需要Canvas 中有RayCaster 并且代码中继承一些点击接口IPointClick 等在这里插入图片描述
因为鼠标只能输入X Y 所以我们应该事先把物体Z 轴转换到屏幕坐标 然后再转回世界坐标

如果是2D 物体Z 轴一直为0 则可以与摄像机位置相加
在这里插入图片描述
制作手柄
在这里插入图片描述
先求出控制的物体与中心点的向量 然后单位化 再乘以限定的距离 ,最后把控制的物体的位置先定为中心点加向量的得到的最终位置 贼简单
让小鸟弹射出去
点击小鸟时设置RegidBody 为动力学(无视其他物体力 包括SpringJoint弹力 )松开时设置为动态计算
并且延时一会 再关闭springJoint ,使其可以计算一部分弹力 然后飞出去。
小鸟撞到猪时的相对速度 collision.relaiveVelocity.magnitude
在这里插入图片描述
在这里插入图片描述
愤怒的小鸟的拖拽弹弓功能 可以使用lineRender组件 获取两个弹弓的点 分别和小鸟划线
两个弹弓点需要添加lineRender组件
在这里插入图片描述
当我们拿到一组sprite 图片做动画时 可以选中所有图拖到场景中 这时会新生成一个animation 动画 按Ctrl + 6 打开 如果我们要在动画播放完执行某个方法则可以在最后一帧添加事件
在这里插入图片描述
场景中的那个动画物体上先添加脚本 脚本里面加入方法

当我们想给小鸟添加拖尾时 可参考博客
https://blog.csdn.net/qq_27489007/article/details/89881515
来制作拖尾效果
在这里插入图片描述
渲染层级的关系
在这里插入图片描述
当我们想把粒子特效添加到UI上时 可以设置Canvas的渲染模式为Camera 并且新建摄像机UICamera 设置摄像机只渲染UI层 将摄像机添加到Canvas中
在这里插入图片描述
设置摄像机为depthOnly 保证未被摄像机渲染的层级可以显示出主摄像机拍摄到的画面
然后设置粒子下的Render 里的sortingLayer
在这里插入图片描述
这样能保证在同一个新摄像机(UICamera) 的同一层(Player) 下,粒子特效可以在UI前面
可以通过设置Time.timescale 来设置游戏运行暂停和继续
在这里插入图片描述
在控制摄像机跟随小鸟时 可以在update 里面获取小鸟的位置的X 然后通过Vector3.lerp 插值运算来进行平滑的位移 摄像机会给定到一个跟随的范围可以使用,我们可以使用Mathf.Clamp方法来对值做限定
当第二个小鸟生成时 会取到限定值0,实现相机回退跟随第二个小鸟的位置
float posX = transform.position.x;
Camera.main.transform.position = Vector3.Lerp(Camera.main.transform.position,new Vector3(Mathf.Clamp(posX,0,15),Camera.main.transform.position.y,
Camera.main.transform.position.z),smooth*Time.deltaTime);
指定声音在哪个位置播放
在这里插入图片描述
2D 游戏倒无所谓 3D 游戏可以设置来玩试试
需要注意 如果声音AudioSource 是挂在小鸟身上 则小鸟销毁时 声音可能会播放终止 但是使用静态方法播放就不会
在这里插入图片描述
因为主摄像机里面有一个AudioListener
在播放声音时会生成一个声音克隆物体
在这里插入图片描述
在制作黄鸟时 可以继承红鸟实现释放技能的方法 然后通过点击左键 让黄鸟的RegidBody.velocity *2 来达到突然加速的功能(so easy)
再设置绿鸟回旋时 其实就是X 轴方向上的速度取负值
在这里插入图片描述

在这里插入图片描述
但是在回旋的过程中我们应该确保绿色小鸟时在下降的时候才能回旋 不然上升的时候回旋他会往上回旋(细节)

最有趣的肯定是炸弹黑鸟 当鸟在运行中 我们可以实时检测他周围的物体存放到一个list 集合里面 当他爆炸时 就直接把这list 里面的物体消失掉
所以可以用触发器 给黑鸟一个圆形的大触发器
在这里插入图片描述

然后物体进入触发器时添加物体进列表 物体离开触发器时 将物体移除列表

在这里插入图片描述
foreach 遍历数组是只读的,不能进行增删操作
修改Image 的图片
在这里插入图片描述
for 循环里面可以用外部变量当做i 值(starsNum)
在这里插入图片描述
在平铺草时可能要手动拖设置同等距离
这时可以用Edit 下的snap setting 设置好间距MoveX后 点击X 让另一块草地自动吸附
在这里插入图片描述
设置打出的包的分辨率
在这里插入图片描述
pc 包会有选择分辨率的界面 ,由于代码里设置了 所以关掉选择分辨率的界面Disabled
在这里插入图片描述
对于有特效的小鸟 点击屏幕可能会有特技释放 但是当我们点击的是暂停按钮时就不应该释放技能
所以应该判断点击的是不是UI
如果按钮在背景之上 点击屏幕其实也是点击UI 这时可以把背景的图片的Raycaster 取消勾选,只保留按钮的检测选项

完结 谢谢观看!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值