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

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

价格 免费

由于没有给小鸟做标签,导致无法触发受伤图片

[展开全文]

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);

[展开全文]

line renderer,设置颜色

获取组件,获取画线的点

[展开全文]

设置场景和界面,创建空物体

添加一个碰撞组件,

添加阻力

[展开全文]

让SpringJoint2D失活即可

设置RigidBody中的Dynamic变为Kinematic,动力学变为运动学,之后小鸟的运动就不受force的影响,只受transform的影响。

延时使用invoke函数

[展开全文]

定义两个变量rightposition

和MaxDistance()

 

[展开全文]

else if 那边 速度 大于最小 小于最大,以前是按照血量来计算 这次学了个新的函数   相对速度

[展开全文]

_instance (单例模式)

学习面向对象程序设计的朋友应该知道,我们大多数情况下通过 new 操作来实例化对象的。对于一些仅需要一次初始化的对象来说,频繁的new操作无疑会过多浪费内存空间。基于此,单例模式便应运而生了。所谓单例,即"一次初始化,多次操作"。

[展开全文]

渲染层级:

1、Camera

先绘制depth低的物体

2、同一个Camera

Sorting Layer

3、同一个Sorting Layer

Order in Layer

大的挡住小的。

 

[展开全文]

授课教师

SIKI学院老师

课程特色

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