*start ;============================================================================== ;clipアニメーション拡張プラグイン ;                        制作 : タカスガタイキ ;                        所属 : ゲーム制作サークル「LR」 ;                       サイト : http://lrlr.client.jp/ ;                       更新日 : 2012/07/11 ;                         ver : 1.0.2 ;  2012/07/11 1.0.2 一部マニュアル部分の整理。 ;  2012/07/08 1.0.1 一部マニュアル部分の整理。 ;           freeImage後にclipアニメ開始タグを実行すると ;           落ちてしまう問題を修正。 ;  2012/07/08 1.0.0 作成。 ;============================================================================== ;========================================================================== ;■概要 ;========================================================================== ;-------------------------------------------------------------------------- ; このプラグインを利用することでクリップ形式アニメを拡張することができます。 ; asdファイルを非常に簡潔に記述でき、 ; ksファイル側から速度やループ回数を指定したり、 ; 停止、再開、リセット、動的な速度変更ができるようになります。 ;  ※ このファイルでは、 ;  ※ 横から順番に読み込んでいき、終端に来たら最初に戻る、 ;  ※ ごく単純なクリップ形式アニメーションを想定しています。 ;-------------------------------------------------------------------------- ;========================================================================== ;■使用条件 ;========================================================================== ;-------------------------------------------------------------------------- ; 以下の条件を満たす場合、自由に使用していただいてかまいません。 ; ; 著作権の明記 ;  サークル名とサイトURLを明記して下さい。 ;   サークル名 : ゲーム制作サークル「LR」 ;   サイトURL : http://lrlr.client.jp/ ;   サイトURLのかわりに、サイトへのリンクを貼ってもらっても構いません。 ; 改変した場合の明記 ;  改変した場合、改変した旨を明記して下さい。 ; ; また、必須ではないですが、 ; 使用された際に下記アドレスに御一報いただけるとうれしいです。 ; ; お問い合わせ先 : circle_lrlr★yahoo.co.jp ;-------------------------------------------------------------------------- ;========================================================================== ;■導入方法 ;========================================================================== ;-------------------------------------------------------------------------- ; 1 ) scenarioフォルダ下にこのファイルを配置。 ; 2 ) なるべくゲーム開始直後(first.ksの先頭行など)以下タグを記述。 ;   [call storage="clipAnimePlugin.ks" target="*start"] ;-------------------------------------------------------------------------- ;========================================================================== ;■ksファイル側の変更点 ;========================================================================== ;-------------------------------------------------------------------------- ;imageタグへの変更 ;-------------------------------------------------------------------------- ; このプラグインを利用することで、imageタグに次の属性を指定できます。 ; ; 属性 ;  loopmax ;   オプショナルです。 ;   ループ回数を指定します。 ;   指定しない場合、無限にループします。 ;  animewait ;   オプショナルです。 ;   asdファイルのwaitタグで何ミリ秒待機するかを指定します。 ;-------------------------------------------------------------------------- ;-------------------------------------------------------------------------- ;clipアニメ停止タグ ;-------------------------------------------------------------------------- ; clipアニメを停止させます。 ; ; 属性 ;  layer ;   必須です。 ;   前景レイヤ(数値)もしくは背景レイヤ(base)を指定できます。 ;  page ;   オプショナルです。 ;   表(fore)もしくは裏(back)が指定できます。 ;   指定しなかった場合、表(fore)扱いです。 ;-------------------------------------------------------------------------- ;-------------------------------------------------------------------------- ;clipアニメ開始タグ ;-------------------------------------------------------------------------- ; clipアニメを再生させます。 ; clipアニメの場合、imageタグで設定した瞬間動き始めるはずなので、 ; おもな用途は、clipアニメ停止タグで停止したアニメの再開になるかと思います。 ; ; 属性 ;  layer ;   必須です。 ;   前景レイヤ(数値)もしくは背景レイヤ(base)を指定できます。 ;  page ;   オプショナルです。 ;   表(fore)もしくは裏(back)が指定できます。 ;   指定しなかった場合、表(fore)扱いです。 ;-------------------------------------------------------------------------- ;-------------------------------------------------------------------------- ;clipアニメ速度変更タグ ;-------------------------------------------------------------------------- ; clipアニメの実行速度(=wait時間)を変更します。 ; ; 属性 ;  layer ;   必須です。 ;   前景レイヤ(数値)もしくは背景レイヤ(base)を指定できます。 ;  page ;   オプショナルです。 ;   表(fore)もしくは裏(back)が指定できます。 ;   指定しなかった場合、表(fore)扱いです。 ;  time ;   必須です。 ;   変更後のwait時間です。 ;   単位は、ミリ秒です。 ;-------------------------------------------------------------------------- ;-------------------------------------------------------------------------- ;clipアニメリセットタグ ;-------------------------------------------------------------------------- ; clipアニメのループカウンタとページカウンタをリセットします。 ; ; 属性 ;  layer ;   必須です。 ;   前景レイヤ(数値)もしくは背景レイヤ(base)を指定できます。 ;  page ;   オプショナルです。 ;   表(fore)もしくは裏(back)が指定できます。 ;   指定しなかった場合、表(fore)扱いです。 ;  nostart ;   オプショナルです。 ;   通常、clipアニメリセットタグを利用すると、 ;   アニメが停止している場合、アニメを再開しますが、 ;   この属性を設定すると、再開処理を行いません。 ;   指定する場合、属性のみで値は要りません。 ;   たとえば、次のように指定します。 ;   [clipアニメリセット layer=0 nostart] ;-------------------------------------------------------------------------- ;========================================================================== ;■asdファイル側に追加される要素 ;========================================================================== ;-------------------------------------------------------------------------- ; このプラグインを利用すると、asdファイルは大幅に簡略化できます。 ; 以下は、このプラグインを利用する場合の一般的なasdファイルの内容例です。 ; ; ;たったこれだけでOK! ; *start ; [clipanimeconf pagesum="49"] ; [clip] ; [wait] ; [jump target=*start] ; ;-------------------------------------------------------------------------- ;-------------------------------------------------------------------------- ;clipanimeconfタグ ;-------------------------------------------------------------------------- ; このプラグインを利用することで追加される独自タグです。 ; asdファイルのページ枚数を管理します。 ; また、imageタグで指定したループ回数に達しているかを判断して、 ; 達していれば、処理をstopするのもこのタグがやっています。 ; そのため、ループ処理をおこなうラベルの直後に置くのがいいかと思います。 ; ; 属性 ;  pagesum ;   ページ枚数を指定します。 ;   たとえば、横幅1200pxの画像ファイルで、400pxごとにページ送りするなら、 ;   ページ枚数は3です。 ;-------------------------------------------------------------------------- ;-------------------------------------------------------------------------- ;clipタグへの変更 ;-------------------------------------------------------------------------- ; topが指定されていない場合、imageタグのcliptop属性で補います。 ; また、leftが指定されていない場合、 ; imageタグのclipwidthとこれまで呼ばれたclipタグの回数を元に、 ; 自動で、ページ送りした位置を補います。 ;-------------------------------------------------------------------------- ;-------------------------------------------------------------------------- ;waitタグへの変更 ;-------------------------------------------------------------------------- ; timeが指定されていない場合、imageタグのanimewait属性で補います。 ;-------------------------------------------------------------------------- ;========================================================================== ;■栞に挟んだ際の保存のされ方 ;========================================================================== ;-------------------------------------------------------------------------- ; このプラグインを利用することでクリップ形式アニメは、 ; 栞に保存できるようになります。 ; 栞に保存されるのは、ラベル通過時のアニメの状態です。 ;-------------------------------------------------------------------------- ;============================================================================== ;以下、コード記述 ;============================================================================== [iscript] //----------------------------------------------------------------------------- //アニメ処理 //----------------------------------------------------------------------------- //------------------------------------------------------------------------- //ユーザ変数clipAnimationConfigsに代入 // 構成 //  clipAnimationConfigs //   ┗fore[i] --表レイヤ //   ┗back[i] --裏レイヤ //   ┗forebase--表ベースレイヤ //   ┗backbase--裏ベースレイヤ //     ┗loopcount --ループ回数用のカウンタ //     ┗pagecount --ページ枚数用のカウンタ //------------------------------------------------------------------------- if(f.clipAnimationConfigs == void){ f.clipAnimationConfigs = new Dictionary(); f.clipAnimationConfigs.fore = new Array(); f.clipAnimationConfigs.back = new Array(); for(var i = 0;i