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

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

价格 免费

bird

RigidBody 2D

 Angular grag 1=>2减速类似空气阻力(脚阻力)

 

collision.relativeVelocity.magnitude//相对速度

[展开全文]

LineRenderer画出的线是3D物体,无法识别2D场景中的layer层级问题

[展开全文]

因为在拖拽小鸟的过程中,小鸟的位置是由代码中的position自定义所确定,所以该过程中应该将小鸟设置为isKinematic

[展开全文]

private SpringJoint2D sp;

private void Awake(){

sp=GetComponent<SpringJoint2D>();

}

private Rigidbody2D rg;

rg=Getcomponent<rigidbody2D>();

 

void Fly(){

 

}

[展开全文]

public Transform rightPos;

public float maxDis=3;

if(vector3.Distance(transform.position,rightPos.postion)>maxDis){//进行位置限定

vector3 pos=(transform.positon-tightPos.position).onrmalized;//单位化向量

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

transform.position=pos+rightPos.position;

}

 

 

 

[展开全文]

private bool is Click=false;

 

isClick=ture;

isClick=flase;

if(isClick){//鼠标移至按下,进行位置的跟随

transform.position=camera.main.ScreenTowrLdpoint=Input.mousePostion;

}

 

[展开全文]

这里再次用到Sprite,和SpriteRender

这两个东西怎么用呢?

[展开全文]

设置:2d -> 3D ,3分钟

裁切图:整图,裁切图, 7分钟

元素分层显示:9分

[展开全文]

本来想用
Parallel.ForEach<Pig>(blocks, x =>
            {
                x.Dead();
            });

但是报错:

get_transform can only be called from the main thread.

看来Unity中使用多线程还是有很多限制的

[展开全文]

我这里补充一下,其实动画出现missing的主要原因就是因为Image重命名为了bg,重命名之后就找不到Image这个对象了。感觉这是Unity的一个Bug,重命名竟然不会全局改!

[展开全文]
  1. 如果Visual Studio没有智能提示,则用VS打开工程即可。
  2. C#把命名空间弄得跟C++的头文件一样?那命名空间本来的区分命名的功能呢?
  3. build setting 增加场景。
  4. Unity的各种响应函数都在界面里面进行绑定。类似Qt信号槽。
[展开全文]

记一下 3d转2d的摄像机的投影改 正交是必须勾上的

[展开全文]

为小鸟添加了 circle  collider 2D圆形碰撞监测器

 

[展开全文]

spring joint 2D 弹簧关节组件

 

rigibody 2D的type属性设置为static,静态组件

[展开全文]

另一种思路:

transform.position = rightPos.position + Vector3.ClampMagnitude(transform.position-rightPos.position, maxDis);

 

[展开全文]

存在设定鼠标事件后,点击按钮没有触发的现象

经查是删除了EventSystem,

重新添加后修复

 

 

missing原因可能是创造完动画后对象重命名,导致重新获取失效

[展开全文]

此处限制最好围绕鼠标事件,而不是实时刷新的Update方法,因为小鸟的状态应该是一次性的,在销毁前起作用,而不是Update时有用且NextBird时又恢复启用

[展开全文]

授课教师

SIKI学院老师

课程特色

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