public class ItemController : MonoBehaviour { public ItemObject item; private void OnTriggerEnter(Collider other) { if(other.gameObject.name == "Player")//也可以用Tag等,这里随便判断了,其实在这个demo里甚至不需要判断 { other.gameObject.GetComponent<PlayerInventoryController>().PickUp(item, 1); ...
例:other.gameObject.SetActive(flase); 如果这行代码放到触发的代码中,就会起到一个让所有触发的物体都从世界上消失的作用 如何查找GameObject ①直接拖拽赋值---public一个gameObject类型变量,然后把其它游戏对象拖进去 ②查找(比较耗时) GameObject.Find---直接查找名字,需要保证名字是唯一的,返回找到的这个GameObject ...
GetComponents GetComponentsInChildren GetComponentsInParent 注:可以在一个GamObject上调用,例如go.GetCom...也可以在一个脚本对象(组件对象)上直接调用transform.GetCom... 查找的范围都是这个GameObject上挂载的所有脚本(组件) 增加组件 gameObject.AddComponent<RotateSelf> ();...
遍历所有的 GameObject,加入判断,当 Scene里的 GameObject 的name属性不等于自身的时候,执行指定的逻辑 我们在这里的指定逻辑是 unity3d_script_c#/FindOtherGameobjects.cs Debug.Log ("Active scene have '" + obj.name + "'."); 这样,我们就打印出了除了自身外,其他 GameObject的 name属性了 如果要对自身外...
enemiesInRanges =newList<GameObject>(); 起先,小怪兽的射程内木有敌人,于是我们就创建了一个空的List。 接下来是向这个List中添加元素,在脚本中添加下面的代码段: //1voidOnEnemyDestroy(GameObject enemy) { enemiesInRanges.Remove(enemy); }voidOnTriggerEnter2D(Collider2D other) {//2if(other.gameObject.ta...
if (other.gameObject.CompareTag("Enemy")) // 进入碰撞器的游戏对象是名为"Enemy"的游戏对象 { // 执行操作 } } 以上是Unity3D程序员常用的核心类及方法的详细解释和代码实现。掌握这些核心类及方法,可以帮助程序员更好地开发Unity3D游戏。当然,Unity3D还有更多强大的类和方法等待探索和学习。
myResults = otherGameObject.GetComponent<ComponentType>()However if you are writing code inside a MonoBehaviour class, you can omit the preceding GameObject reference to get a component from the same GameObject your script is attached to. In this instance, you are actually calling Component....
If you attempt to retrieve a Component type that hasn’t actually been added to the GameObject then GetComponent will return null. You will get a null reference error at runtime if you try to change any values on a null object. Access components on other GameObjects ...
gameObject.transform.Translate(Vector3.left * Time.deltaTime); } Mouse X 鼠标水平移动距离 Mouse Y 鼠标垂直移动距离 Mouse ScrollWheel 获取鼠标滚轮值 例:旋转代码 //获取两个轴上的偏移量 float horizontal = Input.GetAxis("Horizontal"); float vertical = Input.GetAxis("Vertical"); ...
usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;publicclassShootZone:MonoBehaviour{// Start is called before the first frame updatevoidStart() { }// Update is called once per framevoidUpdate() { }privatevoidOnTriggerEnter(Collider other) {if(other.gameObject.name == "FirstPer...