由于没有给小鸟做标签,导致无法触发受伤图片
由于没有给小鸟做标签,导致无法触发受伤图片
public class GameManager
public List<Bired> birds;
publicList<Pig> pig;
public static GameManager _instance;
public void Awake()
{
_instance=this;
}
private void Initialized()
{
for(int i =0; i<birds.Count;i++)
{
if(i==0)//第一只小鸟
{
birds[i].enabled=true;
birds[i].sp.enabled=true;
}
else
{
birds[i].enabled=false;
birds[i].sp.enabled=false;
}
}
}
public class Boom
public void destroying()
{
Destroy(gameObject);
}
class Pig
void Dead()
{
Destroy(gameObject);
Instantiate(boom,transform.position,Quaternion.identity);
GameObject go = Instantiate(score,transform.position+new Vector3(0,0.5f,0),Quaternion.identity);
Destroy(go,1.5f);
}
public LineRenderer right;
public TransForm rightPos;
public LineRenderer left;
public Transform leftPos;
void Line()
{
right.SetPosition(0,rightPos.position);
right.SetPosition(1,transform.position);
left.SetPosition(0,leftPos.position);
left.SetPosition(1,transform.position);
}
public class Pig:MonoBehaviour
{
public float maxSpeed = 10;
public float minSpeed = 5;
private SpriteRenderer render;
puvlic Sprite hurt;
private void Awake()
{
render = GetComponent<SpriteRenderer();
}
private void OnCollisionEnter2D(Collision2D collision)
{
if(collision.relativeVelocity.magnitude>maxSpeed) //直接死亡
{
Destroy(gameObject);
}else if(collision.relativeVelocity.magnitude>maxSpeed && collision.relativeVelocity.magnitude<maxSpeed)//受伤
{
render.sprite = hurt;
}
}
}
鼠标的位子是小鸟的位置
spring ioint 2 D(弹性关节)连接两个刚体
一,add com:
1 . ridi 2D (body type 静止static)
2. connect ridi body(定点)
3. 调节摆动长度 distance
4,弹力 frequency
----3D转换2D
1.2D 点亮
2.Camera -project -Orthe....
3. edit- projec seting -def beh mode-2D
----剪切
1.S M-mutipl-apply
slice-slice-右下角有编号
apply
----图层次
1.s ren
2.add new
3.把物体都放入S L 命名player
4 再把order layer 改动
鼠标与钢体之间有交互:
add com:
1,physic 2D
1,cricle coll 2D
3. 调节半径
脚本:
1,new s
新建文件夹:scipts(放脚本)
写函数:public class bird:MOno
transform.position=Camera.main.ScreentoworldPoint(Input.mousePosition);
transform..position+=new Vector3(0,0,10);
tranform.position+=new Vector(0,0,-Camera.main.transform.position.z);
gamemanager
利用动画插件
line renderer,设置颜色
获取组件,获取画线的点
设置场景和界面,创建空物体
添加一个碰撞组件,
添加阻力
让SpringJoint2D失活即可
设置RigidBody中的Dynamic变为Kinematic,动力学变为运动学,之后小鸟的运动就不受force的影响,只受transform的影响。
延时使用invoke函数
定义两个变量rightposition
和MaxDistance()
2D模式,导入文件夹
else if 那边 速度 大于最小 小于最大,以前是按照血量来计算 这次学了个新的函数 相对速度
_instance (单例模式)
学习面向对象程序设计的朋友应该知道,我们大多数情况下通过 new 操作来实例化对象的。对于一些仅需要一次初始化的对象来说,频繁的new操作无疑会过多浪费内存空间。基于此,单例模式便应运而生了。所谓单例,即"一次初始化,多次操作"。
渲染层级:
1、Camera
先绘制depth低的物体
2、同一个Camera
Sorting Layer
3、同一个Sorting Layer
Order in Layer
大的挡住小的。