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

  • 相关阅读:
    如何让create-react-app锦上添花,满足实际需求?
    《漫画算法》笔记-下篇
    《漫画算法》笔记-上篇
    react + typescript 学习
    node http 模块 常用知识点记录
    vue 相关技术文章集锦
    读后感:数据结构与算法JavaScript描述
    css 揭秘-读书笔记
    vue-textarea 自适应高度
    消除浏览器对input的自动填充
  • 原文地址:https://www.cnblogs.com/tgycoder/p/4803560.html
Copyright © 2011-2022 走看看