*注意:如果不是代码中的括号,代表是解释信息

这个是NGUI相关知识(不提供NGUI,可以自行在Unity资源商店购买【90dollar≈600+RMB】或者其他地方获取),只是想介绍一下transform和gameobject  但是多用点东西会更有印象

简单介绍完成界面:点击按钮让坦克发射子弹

建议:一个程序拥有多个脚本,拥有面向对象思维(如果在所有代码都写在一个脚本中,思维会很乱,不管你技术如何 都会有一定的乱,之后如果想要扩展什么的 也会很难;在一个大一点的工程中,写起来也会比较困难 所以,建议慢慢来 分多个脚本,慢慢拥有面向对象思维)

三个脚本:子弹、玩家、NGUI按钮

第一步:子弹脚本(Bullet 生成后让它一直往它的正前方移动,在指定时间中销毁 降低性能消耗)

脚本代码:void Start()

{
         //这里我经常会写错,写成transform
         //gameobject代表的是对象   而transform是组件(如果把组件删除了  脚本也自然无法执行了)
         //发射子弹  总不会只发一颗  所以,销毁的是gameobject(对象)
         Destroy(gameObject, 3.0f);
     }
     public float speed = 15f;
     void Update()
     {
         //移动                   方向          速度         差值
         transform.Translate(Vector3.forward * speed * Time.deltaTime);
     }

unity list安全删除_实例化

第二步:玩家脚本(生成子弹),也可以设置子弹实例化的位置,比如:不是在玩家中心点创建对象,而是在枪口的位置

unity list安全删除_实例化_02

代码:public void Fire()
 

{
         //实例化对象  简单理解(创建一个物体)
         //             指定路径      类型          路径加载对象
         Instantiate(Resources.Load<GameObject>("Tank/Bullet"));
     }

unity list安全删除_unity_03

第三步:NGUI按钮脚本

 1.先按流程创建一个图片集,图片集要放在当前Unity的Assets文件下(自己随便找个图片做成图片集  第三步是要选中图片,才可以进行第四步)

unity list安全删除_unity_04

 代码:public UIButton btn;
   

public playeObj tank;
     void Start()
     {
         //实例化  也可以把函数改成静态,就不需要这一行代码了
         playeObj p = new playeObj();
         //按钮监听(就是点击按钮  做出反应)
         //               添加事件委托  lambda表达式(委托里面包含
         //               函数,运行函数逻辑)
         btn.onClick.Add(new EventDelegate(() =>
         {
             //执行子弹发射效果
             tank.Fire();
         }));
     }

unity list安全删除_unity list安全删除_05

最后会实现,点击一下按钮发射一颗子弹。

unity list安全删除_unity_06