ヘルプ!!
マウスをドラッグすると、そのムービー クリップが再生され、製品が 360 度回転するコードが mc にあります。
360 度スピンのさまざまな増分のこのムービークリップ内には、製品の各角度に関連するさまざまな他のアニメーションを含む子ムービークリップがあります。
経験..
シーン 1 > spinY_mc > AWComplete_mc
スピン用の私のコードは、シーン 1 のアクション内に記述され、spinY_mc を制御しますが、いったん AWComplete_mc に入ると、マウスをドラッグしてスピンできるようにしたくありませんか?
これは単純だと確信していますが、私はこれにまったく初心者であり、巨大なプロジェクトに取り組んでいます!
ムービークリップ (spinY_mc) で使用されるコードは次のとおりです。子 mc (AWComplete_mc) 内でこのコードが機能することは望ましくありません。
// Rotation of Control Body Y
spin_Y.stop();
spin_Y.buttonMode = true;
var spin_Y:MovieClip;
var offsetFrame:int = spin_Y.currentFrame;
var offsetY:Number = 0;
var percent:Number = 0;
spin_Y.addEventListener(MouseEvent.MOUSE_DOWN, startDragging);
spin_Y.addEventListener(MouseEvent.MOUSE_UP, stopDragging);
function startDragging(e:MouseEvent):void
{
// start listening for mouse movement
spin_Y.addEventListener(MouseEvent.MOUSE_MOVE,drag);
offsetY = stage.mouseY;
}
function stopDragging(e:MouseEvent):void
{
// STOP listening for mouse movement
spin_Y.removeEventListener(MouseEvent.MOUSE_MOVE,drag);
// save the current frame number;
offsetFrame = spin_Y.currentFrame;
}
// this function is called continuously while the mouse is being dragged
function drag(e:MouseEvent):void
{
// work out how far the mouse has been dragged, relative to the width of the spin_Y
// value between -1 and +1
percent = (mouseY - offsetY) / spin_Y.height;
// trace(percent);
// work out which frame to go to. offsetFrame is the frame we started from
var frame:int = Math.round(percent * spin_Y.totalFrames) + offsetFrame;
// reset when hitting the END of the spin_Y timeline
while (frame > spin_Y.totalFrames)
{
frame -= spin_Y.totalFrames;
}
// reset when hitting the START of the spin_Y timeline
while (frame <= 0)
{
frame += spin_Y.totalFrames;
}
// go to the correct frame
spin_Y.gotoAndStop(frame);
}