2010年12月29日水曜日

キーとマウスのハンドリング。

自分で書いた以前のコードを見たところ、
キーのup/down
マウスのup/down/move/over
をstageから所得するようなクラスを作成していた。
これが正しいかどうかわからないが、とりあえず、この方法としてみる。
正確には、stageから所得ではなく、
コンストラクタの引数にstageを渡しているだけの話である。

なんでstageからとるかというと、最下層から取りたかっただけである。
ActionScriptのイベントは、下の層から発生するので、かならずstageで拾うことができた気がするのだが、結論から言うととれないこともあった。
それはそれとして、もう忘れてしまったので、実際に出現したときに対応を考える。
たしか、、なんらかのコントロールをはりつけると、、shiftは拾えるがctrlは拾えないという事態が発生したような記憶がある。


ということで、マウスとキー(文字入力という意味ではなく、主に、ctrl/shiftあたり)の所得は、stageのみで行い、本来イベントの欲しいところのSprite/MovieClipにイベントハンドらっぽい関数を設定して、そこを呼ぶようにする。
stageのみで行い、本来イベントの欲しいところのSprite/MovieClipにイベントハンドらっぽい関数を設定して、そこを呼ぶようにする。
この画像は、http://gelsol.sub.jp/learning/displaylist/001.html
からの引用です。




デモサイト構築。

今度、デモサイトを作る。
よって、1年もやってないので忘れてしまったActionScriptの復習からはいる。
CS3もCS5になってしまった。

まずは、キーとマウスハンドリングの確認。
その前に、thisとstageの確認。

trace (this);
trace (stage);

結果
[object MainTimeline]
[object Stage]
あぁそうだった。thisはMainTimeLineだったよね。
こんなことさえ忘れてる^^;