彰さん、
以下で上手くいくのではなかと思います。
AS3.0では、hitTestObject()が、サポートされていますが、mouseooverやmouseoutで、目的を達成できるのではないかと思い、以下のようにしました。
//ここから
this.stop();//念のため
/*他の音関連は、AS3.0に変更するのを、省略したので、AS1.0/2.0で残っていると、エラーになるため、ライブラリーから、削除しました。境界線の動きのみ、AS3.0化してます。*/
var leftX:Number = 0;
var rightX:Number = 70;
var Check:Boolean=false;//mouseover/mouseout状態を見る、制御変数で、初期値は、false
var theX:Number;
/*下地のインスタンス名を、s_mcとし、mouseover、mouseout時のイベントリスナー設置*/
s_mc.addEventListener(MouseEvent.MOUSE_OVER,mouseover);
s_mc.addEventListener(MouseEvent.MOUSE_OUT,mouseout);
function mouseover(event:MouseEvent):void {//mouseover時に、制御変数 Checkを、trueとし、
Check=true;
}
function mouseout(event:MouseEvent):void {//mouseout時に、falseとする
Check=false;
}
s_mc.addEventListener(Event.ENTER_FRAME,moveto);//movetoを設置し、
function moveto(event:Event):void {
if (Check) {//trueなら、目標theXを70として、出現させる
theX = rightX;
} else {//falseなら、theXを0として、ステージから、引かせる
theX=leftX;
}
s_mc.x += (theX - s_mc.x)/4;
}
//ここまで
|