movieclipクラスを使ってみようmovieclipクラスを使用することによってマウスやキーボードの処理から テキストの処理まであらゆる処理を利用することが出来ます。 じつは初めてのActionScriptで使用した"_x",や"_y" などもMovieClipクラスが保持するメンバに属しています。初めてのActionScriptでの "_x"や "_y"は "_root._x" "_root._y"などと書き換えることが出来ます。 _rootはアクションスクリプトを追加したコンテナー(spriteやmovieなど)のMovieClipクラス を返しているのです。 そうです、すでに私たちはMovieClipクラス使っていたのですね。今回は コンテナーの中にコンテナーがある場合を解説します。 地球と月の関係をMingを使って表現しながらコンテナーについて考えていくことに しましょう。 まずは惑星の自転を表現することから初めて見たいとおもいます。 require "Primitive.php"; class Planet extends Primitive { function _object() { $this->_object = new SWFShape(); $this->_object->setLine(1,100,200,255); $this->_object->movePenTo(25,0); for($i = 1; $i<9;$i++) { $this->_object->drawLine( 25*cos( deg2rad( 40*$i )) - 25*cos( deg2rad( 40*($i-1) )) , -25*sin( deg2rad( 40*$i )) + 25*sin( deg2rad( 40*($i-1) ))); } } function Planet() { $this->Primitive(); $this->_action(); } function _action() { $this->_layer->nextFrame(); $this->_layer->add( new SWFAction(" _root._x = 230; _root._y = 230; this._rotation = this._rotation +5; ")); } }作成したswf 次は惑星の公転を作成します。 class Terra extends Planet { function Terra() { $this->Planet(); $this->_action2(); } function _action2() { $planet = new Planet(); $cont=$this->_layer->add($planet->layer()); $cont->setName("planet"); $this->_layer->add(new SWFAction(" _root.planet._x = 100; _root.planet._y = 100; ")); } }作成したファイル |