• Unity3d之Perfab


    对于重复使用的游戏体可以将其制作成Perfab。首先在Project窗口中选择【Create】-【Prefab】创建一个空的Perfab。然后将该重复使用的游戏体拖到这个空的Perfab上就OK了。

    比如说,gun发射子弹,子弹可以看作一个重复使用的游戏体,就可以将子弹制作成一个Perfab让gun去使用。

    该怎么将gun和子弹的Perfab关联起来呢?

    首先,需要在gun的脚本文件中添加一个Transform属性,这个属性用来指向子弹的Perfab。可以这样写:Public Transform  m_rocket;这样在gun的Inspector窗口中会增加一个Rocket选项,可以选择子弹的Perfab,或者将其拖动到Rocket选项上,即可实现gun与子弹的Perfab的关联。

    如果gun要发射子弹,比如当我们按下空格键时,gun就发射一颗子弹。

    可以这样写:

    1 if(Input.GetKey(KeyCode.Space))
    2 
    3 {
    4 
    5     //m_transform  是gun的Transform组件。
    6 
    7     Instantiate(m_rocket,m_transform.position,m_transform.rotation);
    8 
    9 }

    Unity的游戏体只能使用Instantiate函数实例化,不能使用new。

    Instantiate函数的介绍

    函数原型:

    staticfunction Instantiate (original:Object,position:Vector3,rotation: Quaternion):Object

    作用:克隆原始物体并返回克隆物体。

    克隆原始物体,位置设置在position,设置旋转在rotation,返回的是克隆后的物体。这实际上在Unity和使用复制(ctrl+D)命令是一样的,并移动到指定的位置。如果一个游戏物体,组件或脚本实例被传入,实例将克隆整个游戏物体层次,以及所有子对象也会被克隆。所有游戏物体被激活。

  • 相关阅读:
    python开发--信息处理系统
    oracle--表空间操作
    oracle--表空间基本操作
    CPU、内存、磁盘的瓶颈(转载文)
    在pycharm中进行ORM操作
    contenttypes组件 (处理大量外键)
    Django Rest Framework 请求流程
    Python标准库--UUID
    Django REST framework基础:版本、认证、权限、限制
    Django Rest Framework 视图和路由
  • 原文地址:https://www.cnblogs.com/tgycoder/p/4803560.html
Copyright © 2020-2023  润新知