私はFlashCS5とAS3の初心者ですが、問題があります。ステージ上に、指定されたインスタンス名でMovieClipsに変換された3つの長方形があります。3つすべてに色効果のプロパティがあります:alpha=50。as3レイヤーに次のコードを入力しました。
addEventListener(MouseEvent.ROLL_OVER, RollOverBtn);
addEventListener(MouseEvent.ROLL_OUT, RollOutBtn);
function RollOverBtn(event:MouseEvent):void
{
event.target.alpha = 100;
}
function RollOutBtn(event:MouseEvent):void
{
event.target.alpha = 50;
}
問題は、マウスが1つの四角形をロールオーバーすると、アルファが100に変わることです。しかし、マウスがロールアウトすると、何も起こりません。
助言がありますか?
コードを次のように変更しました:
btn1.addEventListener(MouseEvent.ROLL_OVER, MouseOverBtn);
btn1.addEventListener(MouseEvent.ROLL_OUT, MouseOutBtn);
btn2.addEventListener(MouseEvent.ROLL_OVER, MouseOverBtn);
btn2.addEventListener(MouseEvent.ROLL_OUT, MouseOutBtn);
btn3.addEventListener(MouseEvent.ROLL_OVER, MouseOverBtn);
btn3.addEventListener(MouseEvent.ROLL_OUT, MouseOutBtn);
function MouseOverBtn(event:MouseEvent):void
{
trace("roll over"+event.target);
event.target.alpha = 1;
}
function MouseOutBtn(event:MouseEvent):void
{
trace("roll out"+event.target);
if(event.target.alpha == 100){
event.target.alpha = 0.5;
}
}
私が受け取るトレースメッセージは次のとおりです。
roll over[object MovieClip]
roll out[object MovieClip]
これは、私が理解できるように、roll_outがトリガーされても、alphaプロパティを変更しないことを意味します。