黄字
黄字layer 是针对摄像机的层 渲染课件的那种。
黄字
黄字layer 是针对摄像机的层 渲染课件的那种。
Unity 2017.2.0f3
IEnumerator 要细细品下
任务23的时候感觉不需要这么复杂,点击恢复按钮时直接执行句话就可以了,不需要GetComponent<Animator>().Play("Resume");
sorting layer设置player,然后设置order in layer可以设置层级
1、panel嵌板
2、anchored position锚点位置
添加小鸟废除的拖尾动作
导入尾迹拖尾的插件包
1.给小鸟添加Test MyTrail 的脚本
2.给小鸟添加子物体,trail,然后给小鸟添加 weapon Trail 和 Mesh render 组件,并添加 weapon trail 材质球
3.修改
修改Height为0.
修改time 为 0.3
spritranderer rander 调用图片
public sprite hurt 获取图片hurt
render.sprite=hurt;
原来还有小姐姐
SpringJoint2D
猪的碰撞检测:
oncollisionenter2D【两个物体同时碰撞在刚体和碰撞盒子里面】或ontriggerenter2D【期中一个就行】
整合场景,解决无法显示画线弹弓的问题
添加几个木块
Block 方块 添加 Collider 和 rigidbody2d以及Pig脚本,调整受伤和消失的数值
添加受伤的图片
添加死亡获得的分数
制作成预制体
然后后面的就更换图片就可以了
但是石头的话将 Rigidbody 中的 Mass 改成3
坚硬程度也要比其它的高
加背景
添加草
修改层级,优化遮挡关系
解决画线和武器拖尾的隐藏问题,就是将Default 层更改为 -1,或者背景层的Z轴稍微修改以下
将Sprite中的Single改为Multipe对多张图片进行裁剪成单个 Slice图片裁剪
09-小鸟的飞出
其实就是使【Spring Joint 2D 组件】失活
1.获取到组件
public SpringJoint2D sp;
在Awake()下进行获取
private void Awake()
{
sp = GetComponent<SpringJoint2D>();
}
2.鼠标抬起,失活
private void OnMouseUp() //鼠标抬起
{
isClick = false;
sp.enabled = false;
}
}
3.小鸟飞出速度过快
小鸟【Rigidbody 2D】中的【Body Type】参数改成【kinematic】
3-1:在脚本里更改
protected Rigidbody2D rg;
private void Awake()
{
sp = GetComponent<SpringJoint2D>();
rg = GetComponent<Rigidbody2D>();
}
3-2:鼠标按下
private void OnMouseDown()//鼠标按下
{
isClick = true;
rg.isKinematic = true;
//Kinematic :运动
}
鼠标抬起
private void OnMouseUp() //鼠标抬起
{
isClick = false;
rg.isKinematic = false;
sp.enabled = false; //粘贴到Fly()中
}
4.小鸟飞出后的操作
void Fly()
{
sp.enabled = false;
}
4-1:让电脑零点1、2秒时间计算
需要用到【Invoke函数】
Invoke("方法名",多长时间调用)
private void OnMouseUp() //鼠标抬起
{
isClick = false;
rg.isKinematic = false;
Invoke("Fly", 0.1f);
}
Vector3.Distance();//计算两向量之间位移
向量.normalized; //向量单位化
任务10-猪的受伤
搭建场景
新建【空物体】:env,空物体归零
找图片:THEME_01_THEME_1,修改【Sprite Mode】为Multiple -- 裁一下 --图片拖上去--添加【碰撞盒Box Cllider 2D】,碰撞盒上面不要填满
主题拖到env下边--大量复制【command+D】
给小鸟增加阻力
bird--Rigibody 2D--Angular Drag:2
加入 【猪:pig】 编码:103
更改猪的图层为:player
给猪加一个【Rigibody 2D Angular Drag:2 】、【Circle Collider 2D radius:0.35】
猪的死亡和受伤
添加脚本:Pig
2个碰撞检测方法
OnCollisionEnter2D(Collision2D collision)//碰撞检测
OnTriggerEnter2D(Collision2D collision)//触发检测
定义2个变量
public float maxSpeed = 10;//最大速度
public float minSpeed = 5; //最小速度
判断一下
引出概念:相对速度
if (collision.relativeVelocity.magnitude > maxSpeed)//直接死亡
{
Dead();
} else if (collision.relativeVelocity.magnitude > minSpeed && collision.relativeVelocity.magnitude < maxSpeed) {
render.sprite = hurt;//更换图片:104
获取组件
private SpriteRenderer render;
在Awake下进行赋值
private void Awake()
{
render = GetComponent<SpriteRenderer>();
}
获取组件
最大速度改为:8
最小速度改为:4
//3D改2D
1.Edit->Project Settings...->Editor->Default Behaviour ModeMode->2D
2.摄像机组件->Projection->Orthographic
//图片切割
原生图片->Sprite2D->Sprite Mode->Multiple->Sprite Editor
//层级关系
Sprite Renderer->
Sorting Layer 层级越下,图片越上 Order in Layer 整数越大,图片越上
Rigidbody:
Body Type :Dynamic
Kinematic :开启动力学,不受
else if 那边 速度 大于最小 小于最大,以前是按照血量来计算 这次学了个新的函数 相对速度