Unity 3D 【随机产生敌机群】

上传人:洪易 文档编号:39952317 上传时间:2018-05-21 格式:DOC 页数:3 大小:25.50KB
返回 下载 相关 举报
Unity 3D 【随机产生敌机群】_第1页
第1页 / 共3页
Unity 3D 【随机产生敌机群】_第2页
第2页 / 共3页
Unity 3D 【随机产生敌机群】_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《Unity 3D 【随机产生敌机群】》由会员分享,可在线阅读,更多相关《Unity 3D 【随机产生敌机群】(3页珍藏版)》请在金锄头文库上搜索。

1、Unity 3D【随机产生敌机群】昨天讲了在不同位置随机产生若干敌机,在这基础之上时加入方法回调这几个方法达 到形成一组一组的敌机群于此同时加入线程停留时间(不加会死机)用倒计时的方法达不到目的如:1.using UnityEngine; 2.using System.Collections; 3. 4.public class RandomSp : MonoBehaviour 5. public GameObject enemy2;/飞机 1 6. public GameObject enemy1;/飞机 2 7. public GameObject player; 8. void Star

2、t() 9. 10. player = GameObject.FindWithTag(“Player“);/调用 Player 对象 11. NextTime();/下一个方法 12. StartCoroutine(RandomSpNext(); /调用协成 13. 14. IEnumerator RandomSpNext() 15. yield return new WaitForSeconds(10f);/停留十秒经行一下操作 16. while(true) 17. if (player != null)/如果 Player 不为空,或还存在 18. 19. NextTime();/下一个

3、方法 20. yield return new WaitForSeconds(10f);/停留十秒经行一下操作 21. 22. else/如果 Player 不存在则退出 23. 24. break; 25. 26. 27. 28. void NextTime() 29. EnemyRandomSp();/随机产生三个圆盘 30. StartCoroutine(Enemy1();/停 3 秒后随机产生三个敌机 31. 32. void EnemyRandomSp() 33. for (; ; )/加入死循环 34. 35. int index = Random.Range(0, enemy2.

4、Length);/随机产生敌机 1 标号 36. float posX = Random.Range(-7f, 6f);/x 轴随机产生37. int index2 = Random.Range(0, enemy2.Length); 38. float posX2 = Random.Range(-7f, 6f); 39. int index3 = Random.Range(0, enemy2.Length); 40. float posX3 = Random.Range(-7f, 6f); 41. if (Mathf.Abs(posX - posX2) 3f /克隆飞机 1 44. Insta

5、ntiate(enemy2index, new Vector3(posX2, 1.2f, -8f), Quaternion.identity);/克隆飞机 1 45. Instantiate(enemy2index, new Vector3(posX3, 1.2f, -8f), Quaternion.identity);/克隆飞机 1 46. break;/退出循环 47. 48. 49. 50. IEnumerator Enemy1() 51. yield return new WaitForSeconds(3f); 52. for (; ; ) 53. 54. int index = Ra

6、ndom.Range(0, enemy1.Length); 55. float posX = Random.Range(-7f, 6f); 56. int index2 = Random.Range(0, enemy1.Length); 57. float posX2 = Random.Range(-7f, 6f); 58. int index3 = Random.Range(0, enemy1.Length); 59. float posX3 = Random.Range(-7f, 6f); 60. if (Mathf.Abs(posX - posX2) 4f /克隆飞机 2 63. Ins

7、tantiate(enemy1index, new Vector3(posX2, 1.2f, -8f), Quaternion.identity);/克隆飞机 2 64. Instantiate(enemy1index, new Vector3(posX3, 1.2f, -8f), Quaternion.identity);/克隆飞机 2 65. break; 66. 67. 68. 69. void Update () 70. 71.这样写有很多不足之处,因为在这俩个数组中的预设体都是一样的,没有必要随机获取数组的下表,在克隆是我们采用了三次同一个方法,也可用 for 循环,在程序中死循环是有必要的因为只有 if 条件为真是才能产生敌机群,这样才能用 break 退出循环,在这是当玩家存在时敌机获取玩家的坐标在用敌机自己的坐标相减得到向量坐标这是子弹就能打到玩家了。想了解更多到狗刨学习网

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 研究报告 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号