
スポンサーリンク
※サイト運営にサーバーは必須です※
~ ロリポップ! はコスパのよい初心者向けサーバーです~
はじめに
Unityでオブジェクトを回転させる方法はいくつかある。
例えば、iTweenというアセットの使用などもその候補だろう。
この記事では、私が、「サイコロの面をあてるだけの簡単なお仕事」というアプリを作成した時に、使用した回転コードを公開する。
※素人などで至らぬところがあるかも
コード
※90度回転させるプログラム。
public GameObject obj
の部分で、自分が動かしたい物体を設定。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
public GameObject obj; float count; public float speed = 3f; public IEnumerator top_r() { for (count = 0; count < 90f; count+=speed) { obj.transform.Rotate(new Vector3(-speed, 0f, 0f), Space.World); yield return null; } obj.transform.Rotate(new Vector3(count - 90f, 0f, 0f), Space.World); } |
コルーチンを使用している。
yield return nullで1フレーム処理を中断することを利用して、オブジェクトを連続的に動かしている。
※もしも、IEnumeratorでなくvoidを使用すると、一瞬で回転が終了するプログラムになると思われる。
※これ単体では、動かない。もしもプログラムの最初で動かすならvoid Start(){}の中に、top_r();を放り込む。
※コルーチンを直列でつなぎたい場合は、以下のサイトで紹介しているコードが便利。
(外部サイト):http://qiita.com/sune2/items/a3fe657b59f25016dc52
関連記事
「サイコロの面をあてるだけの簡単なお仕事」のウンロードページ:https://play.google.com/store/apps/details?id=com.kaen.dice
~ギャンブルに絶対儲かる必勝法があるのだろうか?~
私(サイト主)はこの疑問に対して非常に興味を持ち、プログラミングで検証してみました。
このサイトを応援してもいいかなと思う人はぜひとも購入を検討してみてください。
コメント