2
我想要一個gameObject
添加instanciatetd對象作爲他的chiled預製件。 ,所以我寫了這個代碼:Instanciate在Unity3D作爲孩子的預製
public class TgtGenerator : MonoBehaviour {
public SpriteRenderer spriteTgt;
public Sprite[] targets;public SpriteRenderer spriteTgt;
// Use this for initialization
void Start() {
}
// Update is called once per frame
void Update() {
generateRandTgt();
}
void generateRandTgt(){
SpriteRenderer tgt = GameObject.Instantiate (spriteTgt, getRandPosition(), Quaternion.identity)as SpriteRenderer;
tgt.sprite = randSprite();
}
Sprite randSprite(){
var length = targets.Length-1;
Debug.Log (Random.Range(0,length));
return targets[Random.Range(0,length)];
}
Vector3 getRandPosition(){
float xScale = gameObject.transform.localScale.x/2;
float yScale = gameObject.transform.localScale.y/2;
float x = Random.Range(-xScale,xScale);
float y = Random.Range(-yScale,yScale);
float z = 0;
return new Vector3 (x, y, z);
}
實例化對象從像我想的預製得到他的大小。 但問題是它在水印的根節點實例化,因此它們不會像我想要的那樣放置在遊戲對象座標中。
當我剛instaciate行之後添加此行代碼:
tgt.transform.parent = gameObject.transform;
它產生作爲一個孩子像我想,但它得到巨大的倒掛。 我應該如何管理?
你是什麼巨大的意思是倒掛 – 2014-11-06 13:39:00
檢查,如果父遊戲對象進行縮放或旋轉,如果這樣的影響的孩子gameobjects – 2014-11-06 13:39:10
@MasihAkbari如果我想instanciated預製是一個孩子,但與他自己的縮放,但隨着他的父親的旋轉?我該怎麼做? – 2014-11-06 13:41:19