43978人加入学习
(204人评价)
【旧版】Unity初级案例 - 愤怒的小鸟

制作完成于 2018-1-22 本教程基于 Unity 2017.2开发

价格 免费

涉及UI层的渲染需要通过另设摄像机进行层级融合完成

[展开全文]

新版本会存在sub和sub2无法从root拖出的问题,提示子物体之类,可以通过复制的方法解决

[展开全文]

Start()将在MonoBehavior创建后在该帧Update()第一次执行前被调用;

Start()函数只在脚本实例被启用时才会执行;

Start函数总是在Awake函数之后执行。

如果把Initialized()放在Awake中,

MonoBehavior还没有创建,Initialized()无法处理到birds和pigs,

不会生效,3只鸟依然团在一起

放在Start中执行,一切正常。

 

 

一般开发中都是在Awake函数中获取游戏对象或者脚本实例的信息,然后在Start函数中进行一些获取之后的初始化设置。

[展开全文]

图片会按照默认ID进行排序,所以可能产生相反的动画效果

如果要手动调整图片顺序,在Ctrl+6后的窗口,

点击Boom Sprite左侧的展开箭头,在右侧对图片帧进行拖动调整

[展开全文]

这一章的画线可能遇到一些问题,

在最新版本的UnityD中的LineRenderer中“Use World Space”并不是默认勾选的,

导致画出的线在2D中拉伸正常但位置不对。

解决方法:

1.在属性中将“Use World Space”勾选

2.在代码画线函数中设置

 right.useWorldSpace = true;

 left.useWorldSpace = true;

[展开全文]

黄字

黄字layer 是针对摄像机的层 渲染课件的那种。

[展开全文]

弹簧的应用 不是很懂  为什么设置2下 需验证弹簧的用发    

 

[展开全文]

找到图片然后点击图片

把Sprite Mode改为Mutiple,然后点击Apply

然后点开Sprite Editor

点击裁剪Trim

 

rigidbody 2D有一个Angular Drag

Angular Drag:角阻力

就是旋转的一个阻力

 

unity有3个碰撞检测

1、OnCollisionEnter2D

区别:要让两个碰撞的物体同时都挂载着Rigidbody和Collider碰撞盒

效果区别:

就像别人打了你一拳,然后你立马会还回去

都是记在collision

2、OnTriggerEnter2D

区别:只要保证其中的一个物体挂载Rigidbody和Collider碰撞盒就行了,但是得在其中一个碰撞盒下面的 Is Trigger打钩

效果区别:

就像别人打了你一拳,但是这个憋在心里不说,然后记在collision,之后在进行算账

 

[展开全文]

让小鸟飞出去就是让Spring Joint2d失活

就是在鼠标抬起之后让这个组件没有用

但是飞出去之后速度有点大

在Rigidbody 2d里面有一个Body Type

Body Type里面有一个Kinematic

Kinematic:是否开启动力学

开启之后就不会受到一些物理元素的控制了,比如不会受弹簧的那个力的影响了,这样飞出去之后速度就不会很大

所以得让Spring Joint2d失活在在Kinematic开启的后面

这时候需要一个延时函数

延时函数:Invoke("方法名",时间值)

时间值是float类型

 

Spring Joint2d里的Damping Radio

Damping Radio:阻尼系数

阻尼系数越大弹簧弹力越不明显

范围是0到1

[展开全文]

Vector3.Distance

计算里两个向量之间的位移,这个位置是一个长度位置,是float类型的一个正数

 

.normalized  单化向量,这个不会改变原来的值

[展开全文]

星星无法显示出来,可能存在的问题,在调用SaveData的方法没有添加到鼠标注册实践中,还有可能是存储的键值对的名字大小写错误等。想清楚代码达到逻辑原理,通过print在相应的方法中输出可以查看该方法是否被成功调用,由此来查找问题

[展开全文]

在编写好技能的方法后出现了一个BUG 点击左键后没有触发ShowSkullL里面的for循环,重启unity后发现又可以了

[展开全文]

在Canvas里面的游戏物体的顺序会影响的点击,后渲染的图层会覆盖先渲染的图层,例如在lose里面添加了点击事件,但是当失败的界面显示的时候点击图标无法触发事件,将lose的顺序拉到PausePanel后面的就可以了,原因是pausePanel的大小覆盖了真个Canvas,并且是后于lose渲染的,这样就导致弹出lose界面的时候里面的所有按钮都无法点击。

[展开全文]

spring joint 2d 组件:像弹簧一样,会连接两个刚体,两个刚体都是rigidbody2d,让它们像弹簧连接着一样做运动

spring joint 2d 组件的 distance:

两个连接起来的刚体之间的距离

spring joint 2d 组件的 frequency:

摆动频率,频率变大,也会使得这个弹簧变的更有弹性,弹力也会

[展开全文]

PlayerPerfs类可以用来存储数据和取得存储的数据

[展开全文]

OnMouseDown

可以相当于start和update两个函数的存在

也就是当满足一些情况的时候,系统会自动调用这个函数

在这里的意思就是:当用户在GUI元素或者碰撞器上按鼠标的时候,系统会自动调用这个函数

transform.position = Camera.main.ScreenToWorldPoint(Input.mousePosition);
            //把屏幕坐标位置转变成世界坐标位置

[展开全文]

sorting layer层次 调的是遮挡 

order in layer 在遮挡的时候数字大的遮挡数字小的

[展开全文]

OnMouseDown

  • 鼠标按下检测函数

OnMouseUp

  • 鼠标抬起检测函数

单位化向量

  • (a.position-b.postion).normalized
[展开全文]

171-160-136-128-116-107-96-88-186-185-183-184

[展开全文]

授课教师

SIKI学院老师

课程特色

图文(1)
下载资料(1)
视频(44)