読者です 読者をやめる 読者になる 読者になる

転がる先の杖

サラリーマンの傍、自力で食っていけるよう奮闘し、己を磨く日々を綴ります。 スノボの大会出場を目指し、オフトレに精を出してます!

【Unity】ある物体を一定方向にゆらゆらさせたい時

スポンサーリンク

最近、「モンスターをストライクするゲーム」

教わりながら作っています。

元ネタの◯スターストライクはやった事ありませんが...

f:id:ktg6:20160405065849p:plain

 

教えて頂いている方のブログはこちら。

q7z.hatenablog.com

 

本人様作成の説明用動画が用意してあり、動画上の操作を真似して覚えていきます。

動画形式の方が、個人的には書籍より進めやすいです。

分からない所は、停止したりして画面動作を確認しながら作れます。

 

また、実際に詰まった際、本人様から丁寧にご指導頂けています。

何かを作りながらUnityを勉強したい方、是非本人様に気兼ねなくご相談下さい。

(本人様の許可済み)

 

そこで学んだ、

「物体を一定方向にゆらゆらさせる」動きのメソッドをメモ代わりに記述します。

 

狙いの動き

 

・対象の物体を上下にゆらゆら動かす

 

 スクリプト

void Update () {

  elapsed += Time.deltaTime * speed;

  sprite.transform.localPosition = new Vector3(0, Mathf.Sin (elapsed) * range, 0);

}

 

解説

 

①float型の宣言文を用意しておく。(range , elapsed , speed)

②Time.deltaTime を使って経過時間により、elapsed の移動速度を計算

③new Vector3で位置を代入。

④yに「mathf.Sin(elapsed)*range」を入れる事で、移動範囲を指定

 

上記の記述で、上下にゆらゆらさせた動きを実現しています。学んだ事は、自分なりに解釈してどんどん投稿していきたいと思います。訂正などございましたら、ぜひご一報頂けると助かります。