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

制作于2017年12月23日

价格 免费

敌人的制作

利用玩家ctrlD一份直接在上面改  断开预制体连接???

改渲染

添加Enemy脚本 把玩家脚本中的内容全部copy过来

记住要把它拖进script再改,不要中途改

先等等,让敌人脚本钩去掉

给Heart做一个爆炸效果

在Heart脚本里

public GameObject explosionPrefab;拿到爆炸效果的引用(不是拿组件)到时候再拖一下yin'yong

在Die方法中加入

Instantiate(explosionPrefab, transform.position, transform.rotation);标准实例化

先做出生特效 添加Born脚本 播放 销毁 产生玩家

在start里做一个延时调用

Invoke("BornTank",1f);

做一个方法

拿下玩家的引用

public GameObject playerPrefab;

private void BornTank()

{

 Instantiate(playerPrefab, transform.position,Quaternion.identity);(无旋转)

}

再延时销毁 Destroy(gameObject, 1f);

再删掉已有的player,bullet等 终于好了太棒了

 

 

 

 

[展开全文]

pubkic GameObject 

Instantiate(explosionPrefab,transform.position,transform.rotation)

Instantiate(transform.position,Quaternion.identity

Destroy(gameObject,0.8f)

[展开全文]

Invoke,延时调用,在start时候调用。

Heart 爆炸,

enemy copy

出生特效。

[展开全文]

Invoke方法记时和Destory方法记时是同时开始的,如果Invoke方法比Destory方法设置的时间长一些,比如1.0f和0.8f,则在调用Borntank方法生成坦克的1s内,到第0.8s时就开始运行Destory方法销毁了Born游戏物体,坦克无法生出。

坦克的产生依赖于Born游戏物体,如果游戏界面没有Born物体,则无法产生坦克。

Enemy遇到Player无法被销毁。

[展开全文]