zoukankan      html  css  js  c++  java
  • 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)命令是一样的,并移动到指定的位置。如果一个游戏物体,组件或脚本实例被传入,实例将克隆整个游戏物体层次,以及所有子对象也会被克隆。所有游戏物体被激活。

  • 相关阅读:
    SQL Server 查看物理页存储
    Sql Server 孤立用户解决办法
    大文件下载
    UITableViewCell
    xib文件的使用
    UIToolbar
    UIView常见的属性和方法
    iOS的三种多线程技术:
    网络处理文件上传、获取文件MIMEType、其他HTTP请求方式
    转场动画过渡效果
  • 原文地址:https://www.cnblogs.com/tgycoder/p/4803560.html
Copyright © 2011-2022 走看看