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

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

价格 免费

Line Renderer: 可用于画线

 

setposition(0,rightpos.position);

setposition(1,transform.position);

[展开全文]

Rigidbody:

Body Type  :Dynamic  

                     Kinematic :开启动力学,不受 

[展开全文]

Vector3.Distance();//计算两向量之间位移 

向量.normalized; //向量单位化

[展开全文]

Vector3 是一个类,返回值,入口值都是x,y,z

这里新建的rightPos一定要注意,在Hierarchy面板直接新建empty object的话默认会有z轴的值,这样的话会影响script里的计算,必须把新建的object 的z轴设为0

[展开全文]

1.ppt讲解0.0—2.20

2.创建工程实现2d工程和3d工程的转换。2.20-3.40

3. 保存场景,创建场景,导入资源。3.40—5.50

4.图片裁切,图片移动,摄像头缩小,新建层。小鸟覆盖弹弓,修改图片名字。5.50—最后
懒的细分了。

[展开全文]

画线操作

 

添加Line Renderer  更多用于3

 

 

[展开全文]

碰撞检查

有一共有三种方法

private void OnCollisionEnter2D(Collision2D  collision){

 碰撞检测

}

private void OnTriggerEnter2D(Collider2D collision){

触发检测

}

 

定义两个速度

private flate 

[展开全文]

小鸟的发出

 

private SpringJoint2D sp;

private Rigidbody2D rg;

private void Awake(){

    sp=GetComponent<SpringJoint2D >();

    rg=GetComponent<Rigidbody2D >();

}

void Fly(){

  sp.enable=false;

}

鼠标按下时开启动力学

private void OnmouseDown(){

     isClick =true;

     rg.isKinematic=true;

}

鼠标抬起时关闭动力学

private void OnmouseUp(){

     isClick =true;

     rg.isKinematic=false;

    //设置飞出的延时

  Invoke(“方法名Fly”,o.1f(时间(不要太长)))

}

//飞出

在Spring Joint2D

在Rigidbody2D 的Body Type设置成Kinematic开启动力学不受物理控制  

设置延时调用 用到 Invoke(“方法名Fly”,o.1f(时间(不要太长)))

[展开全文]

private bool isClick=false;

private void OnMouseDown(){

    isClick=true;

}

private void OnMouseUp(){

    isClick=false;

}

private void Update(){

   if(isClick){ 

     //鼠标一直按下的跟随的位置变化

 transform.position=Camera.Main.ScreenToWorldPoint(Input.mousePosition);

//设置规定的跟随长度

 transform.position+=new Vector3(0,0,10);

//计算一个长度

transform.position+=new Vector3(0,0,-Camera.main.transform.position.z);

}

}

想要设置物体的拉拽的距离,给我们的物体设置一个字对象,回到脚本里面,新建两个变量。

private Transform rightPos;

private float maxDis;

在我们的判断跟随中再去做一次判断

用的的方法if(Vector3.Distance(tranform.position,rightpost.position)>maxDis)//判断两个物体间的距离限定{

//我们只需要获取他的方向,长度我们会设置

Vector3 pos=(transform.position-rightPost.postion).normalized;//单位化向量

pos*=maxDis;//最大长度向量

transform.position=pos+rightPos.position;

}

 

 

 

[展开全文]

spring joint 2d 创建弹簧。

[展开全文]

2KEIJSDIJIAOS8WQ88&YSDYAOIAYSY^SUYDSIYDOASXX38996329DSGSAKDJ8393QYESAYSYDYSJYAKYVCJVZXJCVGSUDE*&^^6%WTDWUD7QWUDSSUlSAPuisauifftsaiuftfsdtffpDSI

[展开全文]

private void OnCollisionEnter2D(Collision2D collision) { if(collision.relativeVelocity.magnitude>num)//碰撞体.相对速度(单位:向量).转换为数值 { } }

[展开全文]
1、拿张白纸;
2、在白纸顶部写上你想理解概念;
3、用你自己的话解释它,就像你在教给别人一样。
4、遇到解释不了的地方,就通过查课本、问老师、或到互联网搜寻答案。
5、重复上述1-4步骤,直到再没有难点为止。
[展开全文]

playerprefs.setint("level+num",星星数)【num表述关卡数】。

星星总和:totalnum。遍历所有星星的数非0的关卡星星的数目,在相加。

 

[展开全文]

Instantiate(boom,transform.position,Quaternion.identity);//在当前位置生成动画

[展开全文]

LineRenderer画线,弹弓线

[展开全文]

让SpringJoint2D弹簧组件失活,小鸟即可飞出

rg.isKinematic = true;//开启动力学,不受物理控制

[展开全文]

Vector3.Distance(a,b);//获取两点间距离

position.normalized;//向量化,只要方向

[展开全文]

Spring Joint 2d

distance弹簧距离

Frequency 弹力

[展开全文]

授课教师

SIKI学院老师

课程特色

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