ムービークリップを取り込み、誰かがアイコンをロールオーバーするたびにアイコンにハイライトを追加する 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;
}
}
}