ただメモ書き
Posted by くろっく at 00:35:42
基本的にFPSを動作中に変更することは出来ないようです。
あくまでも通常の実装ではの話ですが。
実際に、Miku Player では変更しているわけですからね。
ということで、軽く内部処理を説明してみる。
・実装方法1
単純に何もしないフレームと、スクリプトによるジャンプを組み合わせる。
扱いやすい反面、変更可能な速度に関して大きな制限があります。
(07/11/17版)
例)
--- スプライト(spr) ここから ---
1:CG1(0フレーム)
:スクリプト
gotoAndPlay(_currentframe + speed);
2:何もしないx5
7:CG2(0フレーム)
:スクリプト
gotoAndPlay(_currentframe + speed);
8:何もしないx5
(以下繰り返し)
--- スプライト(spr) ここまで ---
speed の数値(1~5)で速度が変わります。
参照している変数の数値を変更するだけで速度が変わるので非常に扱いやすいです。
ただ、範囲を間違えると悲しいことになりますが・・・
(2に続く)
あくまでも通常の実装ではの話ですが。
実際に、Miku Player では変更しているわけですからね。
ということで、軽く内部処理を説明してみる。
・実装方法1
単純に何もしないフレームと、スクリプトによるジャンプを組み合わせる。
扱いやすい反面、変更可能な速度に関して大きな制限があります。
(07/11/17版)
例)
--- スプライト(spr) ここから ---
1:CG1(0フレーム)
:スクリプト
gotoAndPlay(_currentframe + speed);
2:何もしないx5
7:CG2(0フレーム)
:スクリプト
gotoAndPlay(_currentframe + speed);
8:何もしないx5
(以下繰り返し)
--- スプライト(spr) ここまで ---
speed の数値(1~5)で速度が変わります。
参照している変数の数値を変更するだけで速度が変わるので非常に扱いやすいです。
ただ、範囲を間違えると悲しいことになりますが・・・
(2に続く)
PR
Posted by くろっく at 01:02:09
音量に関して怪しげな動作があるのでメモ。
簡単な検証しか行っていないので間違いなどがある可能性もあります。
本来であれば、
サウンド再生時の音量 = 設定音量
であるはずが、
サウンド再生時の音量 = 基礎音量 * 設定音量
となっていると考えられます。
設定音量は、setVolume で設定した音量(0 ~ 100)のことです。
基礎音量(勝手に命名)は、そのオブジェクトに初めて内容が読み込まれたときの設定音量です。
なお、2度目以降の読み込みでは基礎音量に変化はありません。
つまり、最初に 0 を指定して読み込みを行ってしまうと常にミュートとなってしまうのです。
オブジェクトを使いまわしつつ、音量調整も行う場合は致命的な問題になります・・・
とはいえ、この条件が成立するようなコンテンツは少ないので実際には問題になりにくいのかも。
とりあえず、今のところ何が原因なのかは不明です。
回避方法は上記を理解できれば難しくは無いのかなと。
・作成環境
ParaFla Ver1.37
・再生環境
Windows XP(SP2) + IE6 + Adobe Flash Player 9.0.28.0
Windows XP(SP2) + IE6 + Adobe Flash Player 9.0.47.0
簡単な検証しか行っていないので間違いなどがある可能性もあります。
本来であれば、
サウンド再生時の音量 = 設定音量
であるはずが、
サウンド再生時の音量 = 基礎音量 * 設定音量
となっていると考えられます。
設定音量は、setVolume で設定した音量(0 ~ 100)のことです。
基礎音量(勝手に命名)は、そのオブジェクトに初めて内容が読み込まれたときの設定音量です。
なお、2度目以降の読み込みでは基礎音量に変化はありません。
つまり、最初に 0 を指定して読み込みを行ってしまうと常にミュートとなってしまうのです。
オブジェクトを使いまわしつつ、音量調整も行う場合は致命的な問題になります・・・
とはいえ、この条件が成立するようなコンテンツは少ないので実際には問題になりにくいのかも。
とりあえず、今のところ何が原因なのかは不明です。
回避方法は上記を理解できれば難しくは無いのかなと。
・作成環境
ParaFla Ver1.37
・再生環境
Windows XP(SP2) + IE6 + Adobe Flash Player 9.0.28.0
Windows XP(SP2) + IE6 + Adobe Flash Player 9.0.47.0
Posted by くろっく at 23:43:45
あまりにも狭い範囲でジャンプすると無視されるっぽい?
(スクリプトで直前のラベルにジャンプする場合など)
特にスクリプトでループさせる場合には注意する必要があるかも。
何もしないフレームを置いて対処するのが良いのかな。
前後の数フレームをまとめて実行していると思われる。
ということで、正しいはずなのに誤作動する場合は、ウェイトとかを居れることで対処できるかも。
ジャンプで飛ばされたはずの部分が実行されるのも同様かな。
こっちは区切りとなる部分には停止を入れれば良いと思う。
あとは、些細だけど、ラベルの扱いには注意かな。
命令としてのジャンプでラベルを扱う場合は、最初から文字列扱いになるけれども、スクリプトでは変数も使えるため、きちんと文字列として指定しないと悲しいことに・・・
ほんと気が付くと泣けます・・・
(スクリプトで直前のラベルにジャンプする場合など)
特にスクリプトでループさせる場合には注意する必要があるかも。
何もしないフレームを置いて対処するのが良いのかな。
前後の数フレームをまとめて実行していると思われる。
ということで、正しいはずなのに誤作動する場合は、ウェイトとかを居れることで対処できるかも。
ジャンプで飛ばされたはずの部分が実行されるのも同様かな。
こっちは区切りとなる部分には停止を入れれば良いと思う。
あとは、些細だけど、ラベルの扱いには注意かな。
命令としてのジャンプでラベルを扱う場合は、最初から文字列扱いになるけれども、スクリプトでは変数も使えるため、きちんと文字列として指定しないと悲しいことに・・・
ほんと気が付くと泣けます・・・
Posted by くろっく at 23:35:30
Action Script は Java Script が使えるのなら難しくは無いのかな。
というか、基本は同じようなので・・・
ただ、変数のスコープ関係が問題かも。
といっても、基本さえ理解できれば良いわけですが。
あとは、テキストファイルの扱いが不可能な点も同じっぽい。
まあ、これは仕方の無いことかもしれませんけどね。
基本的にクライアント上で動くわけですからね。
Java Script の場合は、XML関係のAPIを使うことで対処は可能なんですよねぇ・・・
とはいえ、SJISだと文字化けするので、UTF8しか使えないわけで・・・
ユーザの用意したテキストをベースに動作させるとなると難しいのも事実。
どうにかして、Action Script か Java Script でSJISのテキストファイルを扱えないものなんですかねぇ?
というか、基本は同じようなので・・・
ただ、変数のスコープ関係が問題かも。
といっても、基本さえ理解できれば良いわけですが。
あとは、テキストファイルの扱いが不可能な点も同じっぽい。
まあ、これは仕方の無いことかもしれませんけどね。
基本的にクライアント上で動くわけですからね。
Java Script の場合は、XML関係のAPIを使うことで対処は可能なんですよねぇ・・・
とはいえ、SJISだと文字化けするので、UTF8しか使えないわけで・・・
ユーザの用意したテキストをベースに動作させるとなると難しいのも事実。
どうにかして、Action Script か Java Script でSJISのテキストファイルを扱えないものなんですかねぇ?
プロフィール
連絡先
clock(ドット)miku(アットマーク)gmail.com
お知らせ
コメント・トラックバックは承認後に表示されます。
また、レスが必要な場合はメールにてお願いします。
(詳しくはここ)
最新トラックバック
ブログ内検索
その他