Unity3d修炼之路:载入一个预制体,然后为该对象加入组件,然后查找对象,得到组件。

#pragma strict

function Awake(){
	//载入一个预制体 资源必须在 Resources目录下  Resources.LoadLoad();
	//载入后 必须演示样例化   GameObject.Instantiate();
	//为对象加入组件      AddComponent();

	//Find游戏对象		Find();
	//Get组件			GetComponent();

	var pPrefab : GameObject = Resources.Load("Prefab/Scence",typeof(GameObject)) as GameObject;//载入一个预制体
	if(null != pPrefab)
	{
		var pPreabInstance : GameObject = GameObject.Instantiate(pPrefab);//演示样例化
		if(null != pPreabInstance)
		{
			pPreabInstance.name = "PrefabScence";
			var pScript : Prefab_test = pPreabInstance.AddComponent("Prefab_test") as Prefab_test;//为对象加入组件
			if(pScript == null)
			{
				Debug.Log("Component add error!");
			}
		}
		else
		{
			Debug.Log("Prefab Instance error!");
		}
	}
	else
	{
		Debug.Log("Prefab load error!");
	}
}

function Start(){
 	var pMyGameObject : GameObject = GameObject.Find("PrefabScence");//Find游戏对象
 	if(null != pMyGameObject)
 	{
  		var pScript : Prefab_test = pMyGameObject.GetComponent("Prefab_test") as Prefab_test;//Get组件
  		if(null != pScript)
  		{
  			pScript.DoSomething();
  		}
  		else
  		{
  			Debug.Log("Get Component error!");
  		}
 	}
 	else
 	{
 	 Debug.Log("Find GameObject error!");
 	}
}

脚本组件的代码

#pragma strict
function Update(){
	var fAngle : float= 30.0f;
	transform.Rotate(transform.up * Time.deltaTime * fAngle);
}
function DoSomething (){
	Debug.Log("wo shi da huai dan !");
}
时间: 2024-10-22 20:42:36

Unity3d修炼之路:载入一个预制体,然后为该对象加入组件,然后查找对象,得到组件。的相关文章

Unity3d修炼之路:加载一个预制体,然后为该对象添加组件,然后查找对象,得到组件。

#pragma strict function Awake(){ //加载一个预制体 资源必须在 Resources文件夹下 Resources.LoadLoad(); //加载后 必须示例化 GameObject.Instantiate(); //为对象添加组件 AddComponent(); //Find游戏对象 Find(); //Get组件 GetComponent(); var pPrefab : GameObject = Resources.Load("Prefab/Scence&q

Unity3d修炼之路:GUI按钮简单使用,完成对一个简单对象Cube的移动,旋转

#pragma strict private var m_pCubeObj : GameObject = null; private var m_pMeshFilter : MeshFilter = null; public var m_fTramslateSpeed : float = 20.0f; public var m_fRotateSpeed : float = 60.0f; function OnGUI(){ GUI.Label(new Rect(0.0f,0.0f,Screen.w

Unity3d修炼之路:对一个简单对象Cube的移动 旋转和缩放

#pragma strict private var m_nFrameCount : int = 0; private var m_isSubCount : int = 0;//false function Update () { var fSpeed : float = 1.0f; var fAngle : float = 50.0f; var pCurrentPoint : Vector3 = transform.position; var pAxis : Vector3 = new Vec

Unity3d修炼之路:用Mesh绘制一个Cube

#pragma strict function Awake(){ var pMeshFilter : MeshFilter = gameObject.AddComponent(typeof(MeshFilter)) as MeshFilter;//网格过滤器 var pMeshRender : MeshRenderer = gameObject.AddComponent(typeof(MeshRenderer)) as MeshRenderer;//网格渲染 var pMesh : Mesh =

Unity3d修炼之路:游戏开发中,3d数学知识的练习【1】(不断更新.......)

#pragma strict public var m_pA : Vector3 = new Vector3(2.0f, 4.0f, 0.0f); public var m_pB : Vector3 = new Vector3(-4.0f, 2.0f,0.0f); private var m_pTemp : Vector3 = new Vector3(0.0f,0.0f,0.0f); private var m_fTemp : float = 0.0f; private var m_fAngle

查找丢失组件的预制体

在制作游戏的过程中,我们经常会遇到预制体丢失组件的情况,如下图所示. 预制体丢失组件,一般情况下如果我们不去获取该组件,就不会报错或影响游戏的运行.但是在游戏加载该预制体时,会报警告,看到Console中有警告的话也是非常难受的.考虑到游戏中使用了上百的预制体,每个预制体又由数个甚至数十个子物体组成,手动寻找丢失组件的预制体的工作量太大,不具有很好的可操作性. 有没有方法可以获取丢失组件的预制体呢?答案是有的. (1)获取游戏中的所有的预制体 1 public static string[] G

Unity编辑器——03预制体

学习笔记适合新手,如有错误请指正.?号处也请各位指点下,谢谢. 在Hierarchy视图中,我们可以通过选中游戏对象,然后按Ctrl+C,复制该游戏对象以及位于其下的子游戏对象 然后按Ctrl+V创建一个复制体 创建预制体 创建一个立方体,然后在Project视图中点击鼠标右键>Create>Prefab菜单项创建一个预制体,并命名为MyCube 在Hierarchy视图中将立方体拖拽至Project视图的MyCube,完成预制体的制作并与立方体Cube关联,在Hierarchy视图中与预制体

关于Unity中stretch的分开使用、预制体、Scroll View的UI节点

一.上次讲的菊花的四个花瓣,只讲了四个花瓣和在一起的时候的作用,现在是分开的菊花的四个花瓣的作用 1.创建一个Canvas2.对Canvas进行初始化3.创建一个Image的UI节点作为Canvas的子节点,名字叫bg.4.再创建一个GameObject的空节点作为Canvas的子节点.5.在GameObject下面创建一个叫icon的Image类型的UI子节点6.把icon的颜色改为红色便于观察,大小改为300X300点击左上角的stretch,图案选择最右下角的四个花瓣对应四个角的状态,7.

10.预制体

预制体也叫Prefab.预制体通俗解释就是预先准备好的物体,可以重复使用.在游戏场景中可以经常看到相同外貌的怪物.椅子.坛子--以及很多看着一样的物体,就是预制体.通常只要在第一次制作物体时设定好该物体,然后设置成预制体,后期就可以直接生成多个相同的该物体使用. 1.创建预制体.直接将Hierarchy面板中的游戏物体拖拽到Project面板的文件夹下,就可以生成一个预制体.预制体文件后缀名是".prefab".(注:如果要拖拽的物体拥有子物体,记得选中父物体拖拽,而不是单独拖拽子物体