1. 程式人生 > >Unity例項化物件的公共方法

Unity例項化物件的公共方法

  大家好!我是小唐,最近寫了一個例項化物件的公共方法,方便以後用的時候直接呼叫此方法,可以多處使用,自己根據自己的需求寫的,不好還望多包含,一起學習一下吧。

using UnityEngine;
using System.Collections;
using System.Collections.Generic;

public class ActivityManageData<T>:MonoBehaviour where T:MonoBehaviour
{
	private T intance;
	/// <summary>
	/// 例項化物件的公共方法(用的時候直接呼叫此方法就可以了)
	/// </summary>
	/// <param name="obj">例項化的物件.</param>
	/// <param name="parentObj">例項化物件的父物體.</param>
	/// <param name="firstObjVec3">例項化第一個物件的位置.</param>
	/// <param name="distanceY">例項化物件間的Y座標的差值.</param>
	/// <param name="instanteObj">例項化物件的陣列.</param>
	public void InstantiateObj(GameObject obj,GameObject parentObj,Vector3 firstObjVec3,int distanceY,GameObject[] instanteObj)
	{
		int Count=parentObj.transform.childCount;
		GameObject mObj = Instantiate (obj) as GameObject;
		intance=mObj.AddComponent<T>();
		mObj.transform.parent = parentObj.transform;
		mObj.transform.localScale = Vector3.one;
		if (Count!=0) 
		{
			instanteObj[Count]=mObj;
			float objPosX=instanteObj[Count-1].transform.localPosition.x;
			float objPosY=instanteObj[Count-1].transform.localPosition.y-distanceY;
			float objPosZ=instanteObj[Count-1].transform.localPosition.z;
			Vector3 vec3=new Vector3 (objPosX,objPosY,objPosZ);
			mObj.transform.localPosition =vec3;
		}
		else
		{
			instanteObj[0]=mObj;
			mObj.transform.localPosition = firstObjVec3;
		}
	}
}

//呼叫
GameObject[] mInstanteObj=new GameObject[100];
ActivityManageData<VIPPackage> amd = new ActivityManageData<VIPPackage> ();
amd.InstantiateObj (mPackageObj, mVIPPackage, new Vector3 (0, 0, 0),150,mInstanteObj);
</pre><pre name="code" class="csharp">以後還會多多分享更多自己寫的東西!
效果圖:
<img src="https://img-blog.csdn.net/20150707153138069?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

相關推薦

Unity例項化物公共方法

  大家好!我是小唐,最近寫了一個例項化物件的公共方法,方便以後用的時候直接呼叫此方法,可以多處使用,自己根據自己的需求寫的,不好還望多包含,一起學習一下吧。 using UnityEngine; using System.Collections; using Syste

追蹤類例項化物的個數

追蹤類例項化物件的個數 原始碼: package 跟蹤類的個數; import java.util.Scanner; class Test{ static int num=0; public static int Ci

父類宣告子類例項化物詳解

測試程式碼: public class Employee { public String name; public String getType(){ return "Employee"; } } public class Manager extends Employee{

Java例項化物過程中的記憶體分配

問題引入 這裡先定義一個很不標準的“書”類,這裡為了方便演示就不對類的屬性進行封裝了。 class Book{ String name; //書名 double price; //價格 public void getIn

js裡的面向物件分析-(建立例項化物) 建構函式

ECMAScript 有兩種開發模式:1.函式式(過程化),2.面向物件(OOP)。面向物件的語言有一個標誌,那就是類的概念,而通過類可以建立任意多個具有相同屬性和方法的物件。但是,ECMAScript 沒有類的概念,因此它的物件也與基於類的語言中的物件有所不同。 js本身

Android下利用SharePreference儲存序列化物方法

在android下做持久化的資料儲存,大部分是用到了sqlite資料庫或者sharepreference。當然我們為了圖方便,少寫sql語句,大部分都是用ORM形式的開源資料庫框架,例如greendao和cupboard或者dao4,但是在一般小型儲存系統中,我還是比較喜歡

java例項化物的五種方式

1、用new語句建立物件,這是最常見的建立物件的方法。Student student = new Student();2、通過工廠方法返回物件,如:String str = String.valueOf(23); public interface Factory{Produc

單例例項化物的引用

首先,單例模式是物件的建立模式之一,此外還包括工廠模式。單例模式的三個特點: 1,該類只有一個例項 2,該類自行建立該例項(在該類內部建立自身的例項物件) 3,向整個系統公開這個例項介面 Java中大概是這個樣子 1 2 3 4 5 6 7 8 9

spring整合mybatis時報空指標異常:service注入得不到Mapper介面的例項化物(已解決)

解決方法在下邊↓↓問題一:    mabite中Mapper介面的例項化物件找不到,顯示為NULL這是我的配置,還有執行時報的錯這幾個檔案都是使用反向工程生成的,應該沒有錯。執行結果顯示tUserMapper為null問題二:還有,使用ssm框架寫web工程的時候還出過這麼一

Java反射02 : Class物件獲取的三種方式和通過反射例項化物的兩種方式

1.Class物件獲取的三種方式 上一章節已經說過,一般情況下,Java反射操作都需要首先獲取Class物件。獲取Class物件的方式有三種。 公有屬性class 方法getClass()

什麼時候可以不用例項化物就可以呼叫類中成員函式

對於一個類A,對於這個定義((A*)0)或者 A *p = NULL 都可以呼叫類中的那些成員函式。         第一種情況:非靜態成員函式沒有使用類的非靜態資料成員,呼叫的其他非靜態成員函式也不

JAVA基礎-子類繼承父類例項化物過程

class Parent {     // 靜態變數     public static String p_StaticField = "父類--靜態變數";     // 變數(其實這用物件更好能體同這一點,如專門寫一個類的例項)        //如果這個變數放在初始化塊的後面,是會報錯的,因為你根本沒

lua面向物件實現-類例項化物、繼承、多型、多繼承、lua單例模式

lua面向物件實現: 一個類就像是一個建立物件的模具。有些面嚮物件語言提供了類的概念,在這些語言中每個物件都是某個特定類的例項。lua則沒有類的概念,每個物件只能自定義行為和形態。不過,要在lua中模擬類也並不困難。 lua中,面向物件是用元表這個機制來實現。

java泛型的使用(二)在例項化物時不指定泛型,則自動識別為object

<span style="font-size:18px;">/** * *在定義類時,定義泛型 */ public class People <T>{ private

統計例項化物個數

class User{private  String name;private String password;private  static int count;public String getName(){return name;}public void setNa

C#例項化物的三種方式及效能對比

## 前言 做專案過程中有個需求要例項化兩萬個物件並新增到List中,這個過程大概需要1min才能載入完(傳參較多),於是開啟了程式碼優化之旅,再此記錄。 首先想到的是可能例項化比較耗時,於是開始對每種例項化方式進行測試,過程如下 ## 例項化方式 **1、用 New 關鍵字例項化一個類** **2、用 Ac

oracle+.net 資料序列化物時報錯"物件必須實現 IConvertible"介面解決方法

oracle+.net 資料序列化物件時報錯”物件必須實現 IConvertible”介面解決方法 見圖: 具體錯誤就是這樣 寫過序列化的都知道 資料系列化失敗無非欄位和資料型別有問題 只是

Qt文閱讀筆記-windowOpacity官方解析及例項(兩種方法使得程式漸變出現)

目錄 官方解析 博主例子 官方解析 windowOpacity 這個屬性控制視窗的透明度。 他的取值範圍是1.0(不透明)至0.0(全透明)。 預設情況下,這個屬性的值是1.0。 這個屬性在L

Spring MVC中 Json序列化物例項的問題和兩個辦法

情況是這樣的: HTTP請求中,將一個類的例項直接JSON成文字,返回給客戶的端的辦法。 系統:ContOS ,IDE:intellij Spring:4.3.6 Json:1.9.13 如果要將一個類的例項直接返回給HTTP請求的客戶端,是沒辦法的。這樣做的結果是500錯

可序列化物壓縮和解壓縮byte陣列例項

public byte[] serialize(List<String> result) throws IOException { ByteArrayOutputStream bos = new ByteArrayOutputStream(); Java