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

制作于2017年12月23日

价格 免费

编写产生随机位置的方法

一个列表 装已经有东西的位置

private List<Vector3> itemPositionList=new List<Vector3>();

所以在CreateItem方法里要加入,每生成一个要把坐标add进list

itemPositionList.Add(createPosition);

产生随机位置的方法 while循环

//外围一圈不产生游戏物体 x=+-8.3的两列,y=+-4.5这两行

用V3类型的变量来接受随机的位置 随机数的方法

-7.3f,8.3f,-3.5f,4.5f

如果这个位置是空的(再在外面写一个方法)

再把这个V3变量return回去

有东西了则继续while循环

方法//判断列表中是否有这个位置

private bool (判断方法 bool类型返回值) HasThePosition(Vector3 createPos)

z再用一个for循环遍历列表 itemPositionList.Count表示列表长度

if =则return ture 不然则return flase

再在上面调用一下这个方法

if(!HasThePosition(createPosition))  z这个就是ture or flase

不是则返回位置(成功通过查重检测)把这个位置拿了出来

易错别把true写错了

//实例化外围空气墙 y=+-5.5f,x从+-9.3

几个for循环 用来限制移动范围包括子弹

for(float i=-9.3f; i<10.3f;i++)

(i,5.5f,0)

for(float i=-9.3f; i<10.3f;i++)(上下两行)

(i,-5.5f,0)

for(float i=-5.5f; i<6.5f;i++)

(-9.3f,i,0)

for(float i=-5.5f; i<6.5f;i++)

(-9.3f,i,0)

[展开全文]

随机产生,不能同一位置重复产生。

list<Vector3> 将位置添加进去。

较外边一圈不产生游戏物体。

 

[展开全文]

关于护盾特效,要想启用一段时间后取消,需要先将其关联与一个游戏物体形成父子关系,再将关联后的护盾特效拉进特效引用之中,而非单独的护盾预制体,否则其特效会一直显示。

[展开全文]

判断位置列表是否包含位置可以使用 List 的Contains 方法,用于判断列表中是否包含某个元素。

        while (true)
        {
            Vector3 createPostion = new Vector3(Random.Range(-9, 10), Random.Range(-7, 8), 0);
            if (!itemPositionList.Contains(createPostion))
            {
                return createPostion;
            }
        }

 

[展开全文]

把空气墙,家园墙做成预制体,实例化预制体就行了。

[展开全文]

24节 6.00 防止出现绝对现象。

 

24节 1.22定义List<Vector3> XX = new List <Vector>();

 

 

if(判断应该是两个等号==)

[展开全文]