26520人加入学习
(150人评价)
Unity2D 初级案例 - 坦克大战(Unity2017.1)

制作于2017年12月23日

价格 免费

Heart 脚本:Die()  拿spriteRander组件

[展开全文]

发生碰撞的两方要有碰撞器,其中任意的一方要有刚体,而这 有刚体的一方最好是运动的一方。

[展开全文]

int num=Random.Range();创造随机数

[展开全文]

熟练使用bool值的应用

控制组件的显示和关闭

SetActive(true); 显示

SetActive(false); 关闭

[展开全文]

图集:导进来的图片由各个小的元素图片组成,处理导进来的图集时首先调成2D andUI模式,然后mode调成Multiple模式。点击editor spite进行切割图集

 

[展开全文]

transform.up=y轴移动;

transform.right=x轴移动;

 

[展开全文]

1封装初始化

2返回主界面 invoke

[展开全文]

if(v!=0)

{

return;

}//水平方向不移动,垂直方向移动

[展开全文]

碰撞检测:

1.两个身上都要有碰撞器

2.其中一个(最好是运动的一方)要有刚体

刚体经常不动会休眠

碰撞体分为两大类

2D,3D

添加box collider 2D(碰撞器)

为player及Map里的添加刚体

刚体组件里控制重力 Gravity scale

*解决坦克碰撞时旋转:

坦克的刚体-constraints点击z轴

private void FixedUpdate()//固定物理帧 

可以保证时间时匀称的

[展开全文]

transform.Translate(Vector3.right * x * Time.deltaTime * speed, Space.World);
        transform.Translate(Vector3.up * y * Time.deltaTime * speed, Space.World);

[展开全文]

2d是3d的水平镜像,所有角度都是反的

[展开全文]

 

//封装方法
private void move()
{
//这里面都是move的方法   直接调用就可以

}
[展开全文]

水平=h   Horizontal

垂直=v   Vertical

public float moveSpeed=3;    //声明一个移速,默认=3

private SpriteRenderer sr;   //声明一个私有的SpriteRenderer 常量为“sr”

private void Awake(){
    sr=GetComponent<SpriteRenderer>();
}

 

 

[展开全文]

触发碰撞检测的条件:

1.双方都要有碰撞器

2.一方要有钢体,最好是运动的一方(为什么要是运动的一方:如果经常性不运动,钢体会发生休眠,就不会触发碰撞检测)

[展开全文]

 

工程的创建和素材的导入。 

 

1、新建工程。  2017.1.1 f 

unity 不要太老 。 如果版本太老的话,需要破解。 

2、新建一个 2d Tank 的游戏。 

3、创建工程。 

4、unit的布局,不同人,不同的 习惯。 

5、在layout的模式进行布局。 

选择不同的模式 ,  使用2by3的模式,使用好处。 

 

6、可以实现所见即所得的模式。 

     弊端,显示的界面会稍微少一点。 

 

7、拖动pabag 导入到游戏中去,选择import。 

 

8、

 

[展开全文]