本文转载自Unity 得到游戏组件的常用的两种方法
常用的获取游戏对象组件的方法
- 获取当前挂载游戏对象的组件
index = this.GetComponent<******>();
// ******为目标组件
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Player1 : MonoBehaviour {
private MeshRenderer meshRender; //声明需要得到的组件
public Material otherMaterial; //声明一个材质,在Unity界面进行赋值
void Start () {
meshRender = this.GetComponent<MeshRenderer> (); //把该物体的组件赋值到声明的变量中
}
void Update () {
if (Input.GetKeyDown (KeyCode.Z)) { //如果按下了Z键
meshRender.material = otherMaterial; //更改材质
}
}
}
- 获取其他游戏对象组件
index = other.GetComponent<******>();
// ******为目标组件
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Player2 : MonoBehaviour {
public GameObject player1; //声明需要得到的游戏物体,在Unity界面进行赋值
public Material otherMaterial; //声明一个需要更换的材质,在Unity界面进行赋值
private MeshRenderer meshrenderer; //声明需要得到的组件
void Start () {
meshrenderer = player1.GetComponent<MeshRenderer> (); //得到Player1的MeshRenderer组件
}
void Update () {
if (Input.GetKeyDown (KeyCode.Q)) { //按下Q键
meshrenderer.material = otherMaterial; //就可以更换材质贴图
}
}
}