SWFAction クラス
(PHP 5 < 5.3.0, PECL ming SVN)
はじめに
SWFAction.
クラス概要
説明
スクリプトの文法は C 言語をもとにしていますが、多くの機能が 省略されています - SWF バイトコードマシンは、より単純であることを 志向しています。例えば、相当手の込んだ細工をしなければ、関数のコールを 実装することもできません。なぜなら、バイトコードの jump 命令は ハードコードされたオフセット値を使用しているからです。 呼び出し元のアドレスをスタックに格納したりはしません - すべての関数は、戻ってくる場所を正確に知っている必要があるのです。
結局、どんな機能が残っているのでしょう? コンパイラが理解できるトークンは 以下のとおりです。
- break
- for
- continue
- if
- else
- do
- while
データ型は存在しません。SWF アクションマシンにおいては、すべての値は 文字列として扱われます。以下の関数が使用可能です。
- time()
- ムービーが開始してからの経過時間を、ミリ秒 (?) で返します。
- random(seed)
- 0 から seed までの範囲の擬似乱数を返します。
- length(expr)
- 指定した式の長さを返します。
- int(number)
- 指定した数値を、一番近い整数に切り下げた値を返します。
- concat(expr, expr)
- 指定した式を連結して返します。
- ord(expr)
- 指定した文字の ASCII コードを返します。
- chr(num)
- 指定した ASCII コードに対応する文字を返します。
- substr(string, location, length)
-
指定した文字列
stringの、 位置locationから始まる 長さlengthの部分文字列を返します。
さらに、以下のコマンドも使用できるでしょう。
- duplicateClip(clip, name, depth)
-
指定したムービークリップ (またの名をスプライト)
clipを複製します。 新しいムービークリップの名前はnameで、 深度はdepthとなります。 - removeClip(expr)
- 指定したムービークリップを削除します。
- trace(expr)
- 指定した式をトレースログに書き込みます。ブラウザのプラグインが これをきちんと扱ってくれるかは疑わしいものです。
- startDrag(target, lock, [left, top, right, bottom])
-
ムービークリップ
targetのドラッグを開始します。 引数lockで、マウスをロックするかどうか (?) を指定します - 0 (FALSE) あるいは 1 (TRUE) を指定します。 オプションのパラメータでは、ドラッグする範囲のを指定します。 - stopDrag()
- つかれきった心を落ち着かせます。そしてムービークリップの ドラッグも修了させます。
- callFrame(expr)
- 指定したフレームを関数としてコールします。
- getURL(url, target, [method])
-
指定した URL を読み込みます。引数
targetは、 (たとえば "_top" や "_blank" のような) HTML ドキュメントの target に対応します。オプションの引数methodは、 サーバーに変数を返したい場合に POST あるいは GET を指定します。 - loadMovie(url, target)
-
指定した URL を読み込みます。引数
targetは、 (おそらく) フレームの名前か あるいは特別な値 "_level0" (現在のムービーを置き換える) 、 "_level1" (現在のムービーの前面に新しいムービーを表示する) のうちのいずれかです。 - nextFrame()
- 次のフレームに移動します。
- prevFrame()
- 直前の (あるいは一つ前の) フレームに移動します。
- play()
- ムービーの再生を開始します。
- stop()
- ムービーの再生を停止します。
- toggleQuality()
- 高品質/低品質を切り替えます。
- stopSounds()
- 音声の再生を停止します。
- gotoFrame(num)
-
フレーム番号
numに移動します。 フレーム番号は 0 からはじまります。 - gotoFrame(name)
-
nameという名前のフレームに移動します。 これは便利です。というのもまだフレームのラベルを追加していないからです。 - setTarget(expr)
- アクションのコンテキストといわれるものを設定します。 これが何をするものなのかは実際のところよくわかりません。
ムービークリップ (さぁみなさんご一緒に - またの名をスプライト) はプロパティをひじしています。すべてのプロパティが読み込み可能で、 そのうちのいくつかには値を設定することも可能です。プロパティの 一覧は以下のとおりです。
- x
- y
- xScale
- yScale
- currentFrame - (読み込み専用)
- totalFrames - (読み込み専用)
- alpha - 透明度
- visible - 1=on, 0=off (?)
- width - (読み込み専用)
- height - (読み込み専用)
- rotation
- target - (読み込み専用) (???)
- framesLoaded - (読み込み専用)
- name
- dropTarget - (読み込み専用) (???)
- url - (読み込み専用) (???)
- highQuality - 1=high, 0=low (?)
- focusRect - (???)
- soundBufTime - (???)
目次
- SWFAction::__construct — 新しい SWFAction を作成する