2017年08月06日
【unity5】スクリプトからオブジェクトを動かす
オブジェクトを移動させるのは、
そんなに難しい処理を必要としません。
が!プレイヤーの移動とかになると
あまり使われなかったりします。
プレイヤーの移動には、
「CharacterController」や
(↑キャラクターコントローラー)
「Rigidbodyに速度を加える」
が良く使われると思います。
特にキャラクターコントローラーですかね?
良く使われるのは。
まぁ、僕はRigidbodyの方を使うんですが(笑)
っと、話が逸れましたね。
戻しましょう。
それで、この「位置を動かして移動」と
いうのは……よく考えると、あまり
使い道が無いような……?
ですがまぁ、知っておいて
損は無いと思います!
スポンサードリンク
まずはゲームオブジェクトの位置の取得から
やっていきましょうか。
これが分からないと何も出来ません。
足したり、引いたりとかね。
だって
「何に足すのか、何から引けば良いのか」
が分からないですからね。
ゲームオブジェクトの位置の取得は
二種類の方法があります。
……といっても、
たどる道が違うだけなんですがね!
1.
2.
この2つの方法で、位置が取得出来ます。
僕がよく使うのは、
一番目の方ですかね。
なんか楽ですし。
無駄な部分は省きますね。
これだと、
「objのx軸に1ずつ足していく」
という処理になります。
言葉で表すと、
「高速で右に移動していく」
ですかね。
なぜ高速かというと、
Update関数に書いてあるので…。
取り敢えず、こんな感じで動かせます。
また気が向けばもう少し
難しい処理で動かしてみましょうかね…?
では、また!
スポンサードリンク
そんなに難しい処理を必要としません。
が!プレイヤーの移動とかになると
あまり使われなかったりします。
プレイヤーの移動には、
「CharacterController」や
(↑キャラクターコントローラー)
「Rigidbodyに速度を加える」
が良く使われると思います。
特にキャラクターコントローラーですかね?
良く使われるのは。
まぁ、僕はRigidbodyの方を使うんですが(笑)
っと、話が逸れましたね。
戻しましょう。
それで、この「位置を動かして移動」と
いうのは……よく考えると、あまり
使い道が無いような……?
ですがまぁ、知っておいて
損は無いと思います!
スポンサードリンク
this.transform.position
まずはゲームオブジェクトの位置の取得から
やっていきましょうか。
これが分からないと何も出来ません。
足したり、引いたりとかね。
だって
「何に足すのか、何から引けば良いのか」
が分からないですからね。
ゲームオブジェクトの位置の取得は
二種類の方法があります。
……といっても、
たどる道が違うだけなんですがね!
1.
//ゲームオブジェクトとして変数を宣言
GameObject obj;
void Start () {
//obj.transform.positionでobjの位置が取得出来る
Debug.Log(obj.transform.position);
}
2.
//Transformとして変数を宣言
Transform objTrans;
void Start () {
//objTrans.positionでobjの位置が取得出来る
//もう既にTransformだから
Debug.Log(objTrans.position);
}
この2つの方法で、位置が取得出来ます。
僕がよく使うのは、
一番目の方ですかね。
なんか楽ですし。
実際に動かしてみる
無駄な部分は省きますね。
//ゲームオブジェクトとして変数を宣言
GameObject obj;
void Update () {
//objの位置を変える
obj.transform.position.x += 1;
}
これだと、
「objのx軸に1ずつ足していく」
という処理になります。
言葉で表すと、
「高速で右に移動していく」
ですかね。
なぜ高速かというと、
Update関数に書いてあるので…。
取り敢えず、こんな感じで動かせます。
また気が向けばもう少し
難しい処理で動かしてみましょうかね…?
では、また!
スポンサードリンク
【このカテゴリーの最新記事】
-
no image
この記事へのトラックバックURL
https://fanblogs.jp/tb/6564109
※ブログオーナーが承認したトラックバックのみ表示されます。
この記事へのトラックバック
※ ブログに表示されるのは、主の承認が必要なので時間がかかります!
コメントに気づかない場合もありますので、返信が遅れる場合も...