指定のタグの物をまとめて動かしたい。
そんな思いで色々と調べて、中々答えが出なかったので、メモを兼ねて。
(Unity2017.3での話です)
今回作ったのがボタンを押した時、タグ”Redwall”を地面の下にして、それ以外の壁を元の位置に戻すという物です。
上の画像を拡大してみて貰えれば分かりかもですが、一応細かく解説も。半角で書いてるのでコピペしてお使いくださいな。
まず、
GameObject[] cubes = GameObject.FindGameObjectsWithTag("タグの名前");
でタグを検索して、cubesという中に入れています。
(自分もプログラム分からんから言い方あってるかは不明です。動きゃいいんですよこんなもん。)
このcubesは別にどんな名前でも良いみたいです。簡単に言えばフォルダ名的な?
で、その次。
foreach (GameObject cube in cubes) {
//処理内容
}
で、先程cubesというフォルダに入れたcube一つ一つに、
{}内の処理内容をしていくという感じです。
で、今回させている処理は、
//cubeのtransformのpositionを取得
Vector3 pos = cube.transform.position;
//取得したうちのyを-2.0に入れ替える。
pos.y = -2.0f;
//変更したcubeのtransformのpositionを適用する
cube.transform.position = pos;
という感じになっています。
これを押すたびに追加にしたいなら
=を+=に変えたりすればいいんじゃないかなと。
今回の場合、押すたびにその数字ずつ追加されていくので、採用しませんでした。
と言ってもif文で範囲指定すれば書けちゃいそうな気もします。
上記中のposも恐らく何でもよいかと。他と被って無いとエラーにはならないはず。
案外どのページにもcubeにあたる部分が書いてないので動かなく苦労しました。
普通にtransform.position = new Vector3使う事考えたら要るって気が付く筈だったんですよね。
案外ネットで調べても、この三行の正しい書き方が出てこないので、自分みたいなよく分かっていない人間にはきつかった。
とりあえず同じとこで悩む人がこの世に一人いると信じて。書いておきました。
さあ、ブログの時間やぞ。
最近このブログが生きる糧となりつつあります。
やっぱり自分の考えた事や思った事を文章にするって楽しいね。
また愚痴の様になってしまいますが、今日水曜日は派遣先の定時退社日なんですよ。
半分以上帰る素振りすら見せないんだけど。
どうやら自分はとんでもないところに来てしまったようだ。
これは早く抜け出さねばと焦る日々です。
なんか残業は一応月45時間以内らしいですが、
計算したら毎日+2時間。
なにそれ全然笑えないんだけど。
就職の基準を、残業時間で決めればよかったなって。そもそも派遣業じゃ選びようないんだけど。
どう考えても一年後には今の会社じゃないところに居る気しかしないです。
なんならひと月で、「使えないから出てって」て派遣先に言われそうな雰囲気が既に出始めてるような。
だって、見るからに自分居なくてもその会社の人だけで回っているし、残業してるけど。
正直、自分の就職した派遣会社にOBが居るからという事で入れて貰ってる感が凄い。
どっちにしても自分の興味とは方向性が合わないので、派遣業ごと辞めそうです。
座り過ぎで、日に日にヘルニアの痛み増してるし。
やっぱり椅子って大事ですよ。
体重が分散するほど、ヘルニアも楽に感じますから。
とりあえず辞めたと仮定して、この創作で稼げるようになるまでの繋ぎを考えないといけませんね。
今のうちから探し始めておこうと思います。
とりあえず今日はこんな感じです。
0 件のコメント:
コメントを投稿