【发布时间】:2015-02-11 22:58:37
【问题描述】:
我有一个可破坏的平台,我想在它被破坏 5 秒后重新生成。它完美地破裂并重新产生。然而,没有一个预制件的孩子是从产卵中重新产生的。我设置平台的方式是有一个父级来保存脚本、触发盒对撞机和音频源。然后有 4 个孩子是图形,他们从父母那里刹车,一旦踩到刚体就会打开。有人可以帮忙吗?
#pragma strict
var Platform : GameObject;
var child1 : GameObject;
var child2 : GameObject;
var child3 : GameObject;
var child4 : GameObject;
var audio2 : AudioSource;
private var hasPlayed = false;
function Start (){
child1.rigidbody2D.isKinematic = true;
child2.rigidbody2D.isKinematic = true;
child3.rigidbody2D.isKinematic = true;
child4.rigidbody2D.isKinematic = true;
}
function OnTriggerEnter2D(Other : Collider2D){
if(Other.gameObject.tag == "Player"){
child1.rigidbody2D.isKinematic = false;
child2.rigidbody2D.isKinematic = false;
child3.rigidbody2D.isKinematic = false;
child4.rigidbody2D.isKinematic = false;
transform.DetachChildren();
renderer.enabled = false;
audio.Play();
Respawn();
}
}
function Respawn(){
yield WaitForSeconds(5);
audio2.Play();
var PlatformClone = Instantiate(Platform, transform.position, transform.rotation);
Destroy(gameObject);
}
【问题讨论】:
-
预制件是否包含
project视图中的所有子项? -
为什么要销毁游戏对象?
-
@maZZZU 是的,它们在项目视图中是父级。
-
@Barış Çırıka 因为那样的话,只要有一个平台,就会有可破坏的平台。
标签: unity3d unityscript