◆夢終劇仕様ドットアニメライブラリ 関数マニュアル

■必須となる記述

	1.ライブラリを利用する敵スクリプトの冒頭で、対応するボスの個別ライブラリを
	インクルードしてください。

	2.@Initialize内でInitializeAction();を呼んでください。

	3.ドット絵のロードは別途行ってください。

	4.マイクロスレッドを使用していますので、@MainLoopの最後にyield;が必要です。

	◇例

		script_enemy_main{

			#include_function ".\lib\lib_anime_Reimu.txt"
			let imageBoss = GetCurrentScriptDirectory() ~ "img\dot_reimu.png";

			@Initialize{
				LoadGraphic( imageBoss );
				InitializeAction();
				// 〜〜 その他色々 〜〜〜
			}

			@MainLoop{
				// 〜〜 その他色々 〜〜〜
				yield;
			}

■関数

	■描画関数

	◇ボス描画（通常）
		記述：
			DrawBoss( imageFile );
		引数：
			imageFile	ボスドット絵ファイル名（スクリプトからの相対パス）
		内容：
			アクション指定に対応したボスドットアニメを描画します。
			位置は自動で敵の座標 GetX(),GetY() となります。
			@DrawLoop内で呼んでください。

	◇ボス描画（座標指定）
		記述：
			_DrawBoss( imageFile, x, y );
		引数：
			imageFile	ボスドット絵ファイル名（スクリプトからの相対パス）
			x			描画位置中心のx座標
			y			描画位置中心のy座標
		内容：
			アクション指定に対応したボスドットアニメを描画します。
			@DrawLoop内で呼んでください。

	■アクション指定関数

	◇アクション初期設定
		記述：
			InitializeAction();
		内容：
			各種関数を有効にするための準備を行います。
			@Initialize内で呼んでください。（■必須となる記述 を参照）

	◇アクション指定
		記述：
			SetAction( action, frame );
		引数：
			action		アクション定数（下記参照）
			frame		アクションを継続するフレーム数
		内容：
			ボスにアクションを指定します。
			アクション定数は以下のものが使用できます。
			・ACT_STAND		立ち			※フレーム数指定は無視されます（無限）
			・ACT_MOVE		移動			リリーホワイト以外　※左右自動判定
			・ACT_MOVE_L	左移動			リリーホワイト以外
			・ACT_MOVE_R	右移動			リリーホワイト以外
			・ACT_SHOT_A	弾幕A			魂魄妖夢以外
			・ACT_SHOT_B	弾幕B			博麗霊夢、魂魄妖夢以外
			・ACT_SPELL		スペル発動

			ボスによっては特殊アクションが使用できます。
			・ACT_KICK		下キック移動	紅美鈴、射命丸文　※左右自動判定
			・ACT_KICK_L	左下キック移動	紅美鈴、射命丸文
			・ACT_KICK_R	右下キック移動	紅美鈴、射命丸文
			・ACT_CHARGE	溜め			藤原妹紅、小野塚小町　※弾幕Bに繋げる
											魂魄妖夢　※横/縦斬りに繋げる
			・ACT_SLASH_H	横斬り			魂魄妖夢
			・ACT_SLASH_V	縦斬り			魂魄妖夢
			・ACT_PRAY		祈祷			博麗霊夢
			・ACT_VISION	幻視			鈴仙・優曇華院・イナバ
			・ACT_TURN		ターン			風見幽香　※フレーム数指定無視（42固定）

			対応する動作と合わせて、任意のタイミングで呼んでください。
			・例
				SetMovePosition02( GetClipMinX(), GetCenterY(), 60 );
				SetAction( ACT_MOVE, 60 );

			一度も呼ばない場合、デフォルトで立ちアクションが指定されています。
			指定フレームが経過すると立ちアクションに移行します。
			指定フレームが経過しないうちに別のアクションを指定すると、以前のアク
			ションはキャンセルされます。

			ACT_MOVEとACT_KICKは、ボスが停止状態〜移動速度0.1未満の時には立ち画像
			が描画されます。（例えばランダムを使用した移動で、移動前とほぼ同じ座標
			に移動しようとした場合等の不自然感を緩和するためです）
			このような時にもアニメ描画したい場合は、LR指定の方を使ってください。

	◇アニメ一時停止
		記述：
			StopAnime( frame );
		引数：
			frame		アニメを停止するフレーム数
		内容：
			アニメを一時停止します。
			指定フレームが経過するとアニメの続きから再開されます。
			指定フレームが経過しないうちに再度一時停止を呼ぶと、残り停止フレーム
			数が短い方が適用されます。
			停止中にすぐ再開したい場合はフレーム数0を指定してください。

	■その他関数（ボス毎に個別に用意されている関数）

	◇人形関数（アリス・マーガトロイド、メディスン・メランコリー）

		ボスの周りに人形を浮かせたい場合、スクリプト冒頭でボス個別ライブラリの次
		に人形ライブラリをインクルードしてください。

			▽例
				#include_function ".\lib\lib_anime_Alice.txt"
				#include_function ".\lib\lib_anime_doll.txt"

		そして、通常の関数の替わりに以下のものを使ってください。
		自動で人形が描画されます。（引数は通常のものと同じです）

			▽通常の関数						▽替わりの関数
			InitializeAction()				→	InitializeActionWithDoll()
			DrawBoss( imageFile )			→	DrawBossWithDoll( imageFile )
			_DrawBoss( imageFile, x, y )	→	_DrawBossWithDoll( imageFile, x, y )

		また、上記関数を使用したスクリプトの連続再生を行う場合、以下の関数を使って
		ください。

			▽人形自動描画データ保存
				記述：
					SetDollData();
				内容：
					人形自動描画における人形の位置を次のスクリプトに引き継ぎます。
					連続再生で次のスクリプトがある場合、@Finalize内で呼んでください。

			▽人形自動描画データ削除
				記述：
					DeleteDollData();
				内容：
					SetDollData()で作成したCommonDataを削除します。
					連続再生で最後のスクリプトの場合、@Finalize内で呼んでください。

		任意の場所に人形を描画することもできます。

			▽人形描画
				記述：
					DrawDoll( imageFile, x, y );
				引数：
					imageFile	ボスドット絵ファイル名（スクリプトからの相対パス）
					x			描画位置中心のx座標
					y			描画位置中心のy座標
				内容：
					指定位置に人形アニメを描画します。
					InitializeActionWithDoll()が実行されている必要があります。
					@DrawLoop内で呼んでください。

	◇回転関数（橙、藍）

		橙、藍の移動は回転しながらの特殊な移動となるため、通常の関数の替わりに
		以下のものを使ってください。（引数は通常のものと同じです）
		※但し実行後、描画角度設定がSetGraphicAngle( 0, 0, 0 );にリセットされます。

			▽通常の関数						▽替わりの関数
			DrawBoss( imageFile )			→	DrawBossRoll( imageFile )
			_DrawBoss( imageFile, x, y )	→	_DrawBossRoll( imageFile, x, y )

		また移動開始の際、SetAction()の次に以下の関数を使ってください。

			▽回転（回転力減衰）
				記述：
					SetRoll( frame );
				引数：
					frame	回転（移動）完了までのフレーム数
				内容：
					ボスを回転させます。回転方向は自動で判定されます。
					終了際に回転力が落ちます（停止時に自然に見えます）。
				例：
					SetMovePosition02( GetClipMinX(), GetCenterY(), 60 );
					SetAction( ACT_MOVE, 60 );
					SetRoll( 60 );

			▽回転（回転力一定）
				記述：
					SetRollConstant( frame );
				引数：
					frame	回転（移動）完了までのフレーム数
				内容：
					ボスを回転させます。回転方向は自動で判定されます。
					終了際に回転力が落ちません。
					画面外への移動や回転を止める予定がない場合に使用してください。
				例：
					SetMovePosition02( GetClipMinX() - 100, GetClipMinY(), 60 );
					SetAction( ACT_MOVE, 60 );
					SetRollConstant( 60 );

		両回転共に、指定フレームが経過しないうちに再度回転を呼ぶと、以前の回転設定
		はキャンセルされます。

