AIプログラムとかUnityゲーム開発について

探索や学習などを活用したAI系ゲームを作りたいと思います。

Spriteの回転やサイズ変更のアニメーション

ニコ動でプチコン関係の動画を見ていたら、キャラが動く時にはねたり、回転したりの演出がよくされているので、BASICにその手の処理系があるのかな?と思って調べたらありました。
spanimという関数で、

SPANIM 0,"XY+",-600,100,100
SPANIM 0,"R",-120,360,0
SPANIM 0,"S",-300,8,8,1

のような演出をスプライトに定義できます。UnityでいうならiTweenみたいな処理です。
一つ目は、XY+は、相対移動で、-600は10秒(60fpsなので)かけて(+100,+100)って意味
2つ目は、2秒かけて360度回転
3つめは、5秒かけてx,yともに8倍サイズにする
以下にマニュアルがあります。
SPANIM|スプライトにアニメーションを設定 - プチコン.NET

検索して色々読んでみるとSPANIMは解りにくいという意見が多かったのですが、自分は使ってみたかったので、ちょっと似たような処理を作ってみているところです。
f:id:yasu9780:20160121024002p:plain
(検証用ってことで、プチコン標準スプライト画像を利用しています)

カーソルキーで右押すと、2秒かけてx軸に2f移動しながら、同時に360度回転
カーソルキーで左押すと、2秒かけてx軸に左に2f移動しながら、同時に-360度回転
実際はspanim内では変数やタイマーのセットをして、doTween()内で動かしてます。

	void Update () {
		Vector2 Position = transform.position;
		Vector3 scale = transform.localScale;
		float dx = Input.GetAxis ("Horizontal");
		if(dx>0)
		{
			if(scale.x<0) scale.x = -scale.x;
			spanim("XY+",2f, 2f,0f);
			spanim("R",2f, 360,0);
		}
		if(dx<0)
		{
			if(scale.x>0) scale.x = -scale.x;
			spanim("XY+",2f, -2f,0f);
			spanim("R",2f, -360,0);
		}
		transform.localScale = scale;
		doTween();
	}

しかし、このへんの記事を見ると、unityに搭載されている機能を素直に使ったほうがいいかもな。
そのためのゲームエンジンだしね。せめてiTween使うとか。
tsubakit1.hateblo.jp
これって物理法則のシミュレーションにも使えそう
PointEffect2Dって中心への引力だから、向心力として惑星の周囲の周回ができるかも?
AreaEffect2Dは、電界とか磁界として表現できそう
Platform Effector2d ダイオードじゃんw もしくは半透膜
Buoyancyって浮力って意味らしい。この単語は初めて見た。

広告を非表示にする