トップページ > ゲ製作技術 > 2011年10月09日 > XDwFvqMz

書き込み順位&時間帯一覧

9 位/113 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000000100203



使用した名前一覧書き込んだスレッド一覧
名前は開発中のものです。
328
【3Dゲームエンジン】Unity 5

書き込みレス一覧

【3Dゲームエンジン】Unity 5
319 :名前は開発中のものです。[sage]:2011/10/09(日) 19:38:06.16 ID:XDwFvqMz
>>317
transform.parent が親オブジェクトを指してるから
public GameObject changeweapon;
void Update(){
 if( Input.GetButtonDown("File1") ){
  var obj = (GameObject)Instantiate(changeweapon, transform.position, transform.rotation);
  obj.transform.parent = transform.parent;
  Destroy(gameObject);
 }
}
これで動くはず。
【3Dゲームエンジン】Unity 5
328 :名前は開発中のものです。[sage]:2011/10/09(日) 22:03:48.54 ID:XDwFvqMz
>>326
元のソースの public Transform changeweapon; を public GameObject changeweapon; にしてある?
武器オブジェクトを生成するんだから Transform じゃなくて GameObject そのものを扱ったほうがいいと思ったんだけど。
(InvalidCastException は Transform から GameObject にキャストできませんってエラー)

後者のエラーはプレハブの親は弄れませんという内容で、
changeweapon.parent = t.parent; (プレハブの親に、生成したオブジェクトの親を設定) のところを
t.parent = transform.parent;
 (生成したオブジェクトの親(Bazooka)に、スクリプトがアタッチされてるオブジェクト(BeamRifle)の親を設定)
とすれば通るはず。
こっちでも上手くいくけど上記の理由から GameObject で扱った方がいいかなーと思います。
【3Dゲームエンジン】Unity 5
329 :328[sage]:2011/10/09(日) 22:07:51.11 ID:XDwFvqMz
間違いました
×(生成したオブジェクトの親(Bazooka)に、スクリプトがアタッチされてるオブジェクト(BeamRifle)の親を設定)

○(生成したオブジェクト(Bazooka)の親に、スクリプトがアタッチされてるオブジェクト(BeamRifle)の親を設定)


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。