あさりのみそしるダイアリー

おトク情報毎日更新!だから毎日見に来いやゴルァ!!…うっ、ごめんね(´・ω・`)

「WebEffect」でマウスにオブジェクトがついてくるプログラムを書いてみる


ソースネクストのいわゆるActionScript 2.0のプログラミングツール「WebEffect」を使って、マウスにオブジェクトがついてくるプログラムを書いてみました。

GUI操作は直感的にできてカンタンですし、素材も元からけっこう豊富に入っているのでそれを使えばいいでしょう。
このソフトの一番の特徴は自分でプログラムをかけるところにあります。この機能のおかげで、無限の可能性が秘められているわけで。
というわけで、ちょっとしたプログラムを書いてみました。私もまだわからないところがあるのでへぼいですが、そこは大目に見てください。
ある程度、今後に期待できるようなテストプログラムとして、オブジェクトをマウスポインタの座標に合わせるプログラムを書いてみます。




今回はどれだけカンタンかというのがわかるように動画ものせてみました。
そのかわり画像はカットです。ちょっとめんどくさかったので。


プログラム全体にかかわるようなコードは「シーンプロパティ」の『アクション』の「Enter Scene」に記述します。
シーンを開いた時に実行されるプログラムがここに書かれます。
カスタムを選ぶと、自分でコードを書くことができます。

今回は1つのシーンで事足りるので、特にシーンの追加などはしていません。

オブジェクトには、ソフトウェア上で作成できる図形や、外部から読み込んだ画像ファイルなんかが使えます。
オブジェクトに「エレメントプロパティ」から「名前」をつけることで、コード上でもそれを用いてオブジェクトを操作することができるようになります。ここでは「player」という意味ありげな名前を付けています。


まずは1回目ということで、カンタンなプログラムを。
まともに動くプログラムでは私もこれが1発目なんで、正直これ以外の事はよくわからないんですけどね。

先ほどのシーンプロパティのアクション⇒Enter Sceneのカスタムに次のコードを記述します。

player.onMouseMove = function():Void{    // オブジェクトplayerに関するマウスが移動したときのイベント
    this._x = _xmouse;    // オブジェクトplayerのx座標をマウスのx座標にする
    this._y = _ymouse;    // オブジェクトplayerのy座標をマウスのy座標にする
};

先ほど作成したオブジェクトplayerのonMouseMove、つまりマウスが移動したときのイベントを記述します。別途関数(メソッド?)を作成してそれを呼び出すこともできるかもしれません。

thisがさすものはここではplayerでしょうかね。playerのマウスイベントですからね。
_xはthisがさすオブジェクト、すなわちplayerのx座標です。_yも同じ考え方ですね。
_xmouseはマウスポインタのx座標です。
_ymouseはy座標ですね。

これだけ記述して実行するだけで、マウスポインタにオブジェクトがついてくるプログラムが作成できます。
あとはこれをパブリッシュするだけですね。


今回作成したプログラムのプロジェクトはこちら。
http://cid-1b0a73ffbf74d345.office.live.com/self.aspx/WebEffect/onMouseMove.gla

拡張子は「gla」です。「Windows Live SkyDrive」にアップロードしました。
直接WebEffectから開くこともできます。

実行ファイルはこちら。
http://cid-1b0a73ffbf74d345.office.live.com/self.aspx/WebEffect/onMouseMove.swf

拡張子は「swf」です。同じく「Windows Live SkyDrive」にアップロードしました。
GOM Playerやブラウザで開くことができます。


ちなみに、マウスポインタはキャプチャの仕様で表示されません。キャプチャソフトもソ
ースネクストの「驚速ストリーミングレコーダー2」を使用しています。


さて、マウスクリックで何か飛び出して来たらおもしろくなりそうですよね?