涉及UI层的渲染需要通过另设摄像机进行层级融合完成
涉及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;
IEnumerator 要细细品下
黄字
黄字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
单位化向量
171-160-136-128-116-107-96-88-186-185-183-184