AS3 コードを関数にしました。しかし、コードが長すぎると思います。それを改善するのを手伝ってもらえますか?ありがとうございました!
最初に test.fla を作成し、5 つの灰色のブロック (PSD からの外部写真) をステージに追加しました。私の機能は、対応する灰色のブロックにマウスを合わせると、さまざまな画像を表示することです。
これらの 5 つの灰色のブロックをムービー クリップに変換し、インスタンス名を sp1、sp2、sp3、sp4、および sp5 に設定しました。次に、ドキュメント クラス test.as を作成し、5 つの EventListener を設定します。
sp1.addEventListener(MouseEvent.MOUSE_OVER,clickmouse1);
sp2.addEventListener(MouseEvent.MOUSE_OVER,clickmouse2);
sp3.addEventListener(MouseEvent.MOUSE_OVER,clickmouse3);
sp4.addEventListener(MouseEvent.MOUSE_OVER,clickmouse4);
sp5.addEventListener(MouseEvent.MOUSE_OVER,clickmouse5);
私の最初の質問は、これらの 5 つの EventListener を組み合わせて 1 つにする方法はありますか? 私の考えでは、非常に多くの EventListener を使用すると、PC のリソースが大幅に消費されます。
2 番目の質問は、5 つの対象画像を 5 つのクラスとして設定したことです。
test.as では、以下のコードを作成しました。
public class EuroCup extends Sprite{
var arr:Array=new Array();
var Res1:Result609=new Result609();
var Res2:Result610=new Result610();
var Res3:Result611=new Result611();
var Res4:Result612=new Result612();
var Res5:Result613=new Result613();
var i:int=0;
public function EuroCup() {
arr[1]=Res1;
arr[2]=Res2;
arr[3]=Res3;
arr[4]=Res4;
arr[5]=Res5;
}
}
長すぎると思います。単純化する方法はありますか?test.fla と test.as は次のとおりです 。