1

どうすればこれを機能させることができますか?着色される実際のアイテムを参照するには、参照から Button という単語を削除する必要があります。前もって感謝します。

disagreeButton.addEventListener(MouseEvent.ROLL_OVER, mouseRollOver);
contentMain.clickButton1.addEventListener(MouseEvent.ROLL_OVER, mouseRollOver);

function mouseRollOver(e:MouseEvent):void { 
    var c:Color = new Color();
    c.setTint (0xFFFFFF, 1);
    //the issue is this line:
    this[e.target.name.replace( "Button", "" )].transform.colorTransform = c;
}
4

1 に答える 1

1

あなたの問題を理解したので、次のことをお勧めします。

  1. this、 、 、およびその他のボタンには個別のメソッドがありますcontentMain。次に、必要に応じてthis[...]またはcontentMain[...]でオブジェクトにアクセスします。

    disagreeButton.addEventListener(MouseEvent.ROLL_OVER, mainMouseRollOver);
    contentMain.clickButton1.addEventListener(MouseEvent.ROLL_OVER, contentMainMouseRollOver);
    
    function mainMouseRollOver(e:MouseEvent):void { 
        mouseRolloverLogic(this[e.target.name.replace( "Button", "" )];
    }
    
    function contentMainMouseRollOver(e:MouseEvent):void { 
        mouseRolloverLogic(contentMain[e.target.name.replace( "Button", "" )];
    }
    
    function mouseRolloverLogic(item:DisplayObject):void {
        var c:Color = new Color();
        c.setTint (0xFFFFFF, 1);
        item.transform.colorTransform = c;
    }
    
  2. 持っているメソッドにロジックを追加します。

    if (this[...] != null) {
        ...
    }else if (contentMain[...] != null) {
        ...
    }
    
于 2012-04-11T17:58:59.013 に答える