0

ムービークリップを取り込み、誰かがアイコンをロールオーバーするたびにアイコンにハイライトを追加する Shortcuts クラスを作成しました。

chromeshortcut はムービークリップのクラス名ですが、いくつかのアイコンがどのように存在するかを見て、これらの mc をライブラリからショートカット クラスに取得するよりエレガントな方法はありますか?

すべての MC のクラス名の配列を格納することを考えていましたが、変数を使用してオブジェクトを動的にインスタンス化することは可能ですか? したがって、new myclassname(); で、myclassname は配列から取得された変数です。

import com.Shortcuts;


var aName:MovieClip = new chromeshortcut();

var shortcut:Shortcuts = new Shortcuts(aName);


shortcut.x = 200;
shortcut.y = 200;
addChild(shortcut);

ショートカット クラス:

  package com{

                import flash.display.*;
                import flash.events.*;
                import 

flash.net.*;


        public class Shortcuts extends MovieClip{

            private var highlight:MovieClip;

            public function Shortcuts(icon:MovieClip){

                highlight = new shortcuthighlight();


                highlight.x = highlight.x - highlight.width/2;
                highlight.y = highlight.y - highlight.height/2;
                highlight.visible = false;
                addChild(highlight);

                icon.x = icon.x - icon.width/2;
                icon.y = icon.y - icon.height/2;
                addChild(icon);


                this.addEventListener(MouseEvent.ROLL_OVER, addHighlight);
                this.addEventListener(MouseEvent.ROLL_OUT, removeHighlight);
            }


            public function addHighlight(evt:MouseEvent){

                highlight.visible = true;

            }

            public function removeHighlight(evt:MouseEvent){

                highlight.visible = false;

            }

        }





    }
4

1 に答える 1

0

これは間違った方法で行っていると思います。MovieClipsをShortcutsクラスに渡す代わりに、MovieClipsにShortcutsクラスを拡張させる必要があります。

于 2012-05-24T02:17:28.067 に答える