IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> Unity简单操作:Unity中添加组件的几种方法 -> 正文阅读

[游戏开发]Unity简单操作:Unity中添加组件的几种方法

一、在编辑器上面添加一个组件。这个不用多说。

二、在脚本中利用AddComponent函数添加一个组件,例如:

using?UnityEngine;
using?System.Collections;

public?class?CharacterSpawner?:?MonoBehaviour?{

????public?void?Spawn(GameObject?CharacterSlected){
????????if(CharacterSlected){
????????????GameObject?player?=?(GameObject)GameObject.Instantiate(CharacterSlected,this.transform.position,Quaternion.identity);
????????????if(!player.GetComponent<</span>PlayerManager>()){
????????????????player.AddComponent<</span>PlayerManager>();
????????????}
????????}
????}
}

AddComponent的官方说明:

GameObject.AddComponent

Component?AddComponent(string?className);

Description

Adds a component class named?className?to the game object.

Use this function to change behaviour of objects on the fly. You can also add script to game objects by passing in the name of the script class.

Some components require other components to exist in the same game object as well. This function automatically adds any required components as well eg. if you add a?HingeJoint?this will automatically add a?Rigidbody?as well.

using UnityEngine;
using System.Collections;

public class Example : MonoBehaviour {
    public SphereCollider sc;
    void Example() {
        gameObject.AddComponent("FoobarScript");
        sc = gameObject.AddComponent("SphereCollider") as SphereCollider;
    }
}

Component?AddComponent(Type?componentType);

Description

Adds a component class of type?componentType?to the game object. C# Users can use a generic version.

no example available in C#

Note that there is no RemoveComponent(), to remove a component, use Object.Destroy.

三、利用RequireComponent添加一个组件。

using?UnityEngine;
using?System.Collections;
[RequireComponent(typeof(PlayerCharacterController))]
[RequireComponent(typeof(PlayerCharacterUI))]
[RequireComponent(typeof(PlayerQuestManager))]
[RequireComponent(typeof(PlayerSave))]

public?class?PlayerManager?:?MonoBehaviour?{

}

RequireComponent意思是表面这个类一定需要哪些组件,如果目前这些组件没有被加上,就自动加上。

代码是这么写的但是编译完后发现没增加组件,

为啥呢……

把拖到GameObject上的脚本删了然后在拖上就有了。

原来这个是只有第一次被拖上时候才会增加组件,相当于依赖关系,如果组件上没有就自动添加,如果有的话不会重复添加

官方解释:

RequireComponentNamespace: UnityEngine

Description

The RequireComponent attribute lets automatically add required component as a dependency.

When you add a script which uses RequireComponent, the required component will automatically be added to the game object. This is useful to avoid setup errors. For example a script might require that a rigid body is always added to the same game object. Using RequireComponent this will be done automatically, thus you can never get the setup wrong.

// Mark the PlayerScript as requiring a rigidbody in the game object.
@script RequireComponent(Rigidbody)

function FixedUpdate() {
        rigidbody.AddForce(Vector3.up);
}
C# Example:

[RequireComponent (typeof (Rigidbody))]
public class PlayerScript : MonoBehaviour {
        void FixedUpdate()  {
                rigidbody.AddForce(Vector3.up);
        }
}

第四种:

wheelCol.AddComponent(typeof(WheelCollider));//这个旧的,如下官方说明

新的通用方案是:

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2021-08-12 17:00:38  更:2021-08-12 17:01:08 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 1:20:05-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码