HOMING★WONDER

ParaFla! ノート

最終更新:

kouraku_tiritomado

- view
管理者のみ編集可
include_js plugin Error : このプラグインで利用できない命令または文字列が入っています。

説明

ParaFla! はフリーのFLASHエディタです。アクションスクリプト(AS)も使えます。ネット上にも多数の解説サイトがあり環境は整っていますが、一部わかりにくいところもあります。私がつまづいたポイントをまとめておきます。困った時に、副読本としてご覧いただければ幸い。

オススメサイト

まさに本家というWikiです。解説はあんまりないのですが、膨大なサンプルがアップされており、具体性と即効性はピカイチです。
紙芝居ツールとしての概要、使い方が分かりやすいサイトです。
私が一番参考に使ったサイトです。「よくある文法リファレンス」として便利。
AS どころかプログラム初心者で、右も左もサッパリならこちらをどうぞ。
むしろフラッシュのダウンロードサイトですが、 携帯向けactionscript には、FSCommand2() が見やすくまとめてあります。

デバッグ出力のススメ

ParaFla! は、実行前から明らかな設定ミスや衝突があっても、エラー報告がほとんど起こらずプレビューが強行されます(もちろん表示類は妙な事になります)。変数などはこまめに画面に表示したり、一手間を心がけた方が良さそうです。とくに慣れるまでは用心した方が無難。

"スプライト"の説明

要はレイヤーとかそういうもののようです。
→ モノ好きだから読んでみる。

removeClip() と duplicateClip() したスプライトの寿命

インスタンスの動的生成には解放がつきもの。どうも削除を行う removeClip() は正の AS 深度のスプライトしか削除しないようです。
// 深度が負のスプライトは、1フレームで自動的に削除されます。
// 必然的に、毎フレームduplicateClip()することになります。
duplicateClip("srcHoge","destHoge1",-1); // 深度が-1なので1フレームで自動削除

// 深度が0以上のスプライトは、removeClip()されるまで残ります。
duplicateClip("srcHoge","destHoge2",0); // 深度が0なので残り続けます。
duplicateClip() に設定した深度がマイナスだと 1 フレームで消えます。一方、正の値を使用したときは removeClip() 可能なので、removeClip() するまで存命します。

ParaFla! の深度ゼロは AS深度の -16127 に相当し、ParaFla! から設定可能な深度は ±256 に限られます。duplicateClip() を呼びだし複製したスプライトを、もし ParaFla! で最初から存在するスプライトの裏に配置したければ、duplicateClip() の深度には -16127±256 の範囲にある負の値を設定する必要があります。もちろん負の深度なので1フレームで消えます。基本的に毎フレーム複製する必要があります。

それでも毎フレーム複製するのは処理負荷だと思ったら、前後関係が発生するリソースを、あらかじめスプライトにまとめましょう。スプライトごと複製してしまえば正の範囲の AS 深度にマスク画像などを置く事が出来ます。

  • 全て負の深度( -16127±256 )に置く必要があり、毎フレーム複製処理の必要なケース
↑深度の値が大きい↑
親スプライト
動的な複製スプライト (マスク対象)
│ └イメージ画像
マスク画像
↓深度の値が小さい↓

  • 正の深度に複製可能で、毎フレーム複製処理の必要がないケース。
↑深度の値が大きい↑
親スプライト
動的な複製スプライト
  ├イメージ画像 (マスク対象)
  └マスク画像
↓深度の値が小さい↓

SWF4 rotation の不思議仕様 精度落ち対策

携帯待ち受けなどに使われるSWF4環境では、計算精度云々は怪しい環境が多いようです。私が確認した現象とその対策をメモ。

  • 【現象1】アナログ時計の針を回転させたら、どんどん縮んでいく。
  • 【現象2】細かな位置・角度変更を続けると動きがガタつく、位置がズレる、縮んで消えるなどする。

結論から言ってしまうと、「スプライトは座標の記録や計算の精度が低く、誤差が累積しやすいので出来るだけ慎重に動かす」という事なのですが、同じような現象に困った時は、こちらのメモを確認してみて下さい。
→ モノ好きだから読んでみる。






記事メニュー
目安箱バナー