画面をドラッグ
ActionScript3.0で画面をドラッグして移動させるflashを作っています。
マウスを離してからも少しだけ動くように*2.75しています。
しかしhoge_mcが画面外に出た時にif文やflagを使って止めようとすると進む力が残っているっぽくて確実に止まってくれません。
どなたかこの問題の解決法が分かる方いませんか?
*ソースです。(ステージにhoge_mcを置けば動きます。)
import caurina.transitions.Tweener;
var startX:Number = 0;
var cameraRange:Number = 0;
var tweenNum:Boolean =false;
this.stage.addEventListener(MouseEvent.MOUSE_DOWN, onDown);
this.stage.addEventListener(MouseEvent.MOUSE_UP, onUp);
function onDown(event:MouseEvent):void {
tweenNum = false;
this.stage.removeEventListener(MouseEvent.MOUSE_MOVE, onMove,false);
startX = event.stageX;
this.stage.addEventListener(MouseEvent.MOUSE_MOVE, onMove,false);
}
function onUp(event:MouseEvent):void {
this.stage.removeEventListener(MouseEvent.MOUSE_MOVE, onMove,false);
}
function onMove(event:MouseEvent):void {
trace(hoge_mc.x);
if(tweenNum == true){
Tweener.removeTweens(hoge_mc);
return;
}
var cameraIkata = event.stageX - startX;
hoge_mc.x += cameraIkata;
cameraRange = cameraRange + cameraIkata;
Tweener.addTween(hoge_mc, {x:cameraRange*2.75, time:3, transition:"easeOut"});
startX = event.stageX;
}
stage.addEventListener(Event.ENTER_FRAME,loop);
function loop(e:Event):void {
if (hoge_mc.x > 401) {
tweenNum = true;
Tweener.removeTweens(hoge_mc);
hoge_mc.x = 400.5;
}
if (hoge_mc.x < 0) {
tweenNum = true;
Tweener.removeTweens(hoge_mc);
hoge_mc.x = 0.5;
}
}