2012-07-02 1 views
1

버튼이 하나 있습니다 (감소). 버튼을 누르면 화살표가 왼쪽으로 회전합니다. 특정 각도 (약 8시 방향)로 정지하려면 화살표가 필요합니다.최대/최소 각도로 회전하는 영화 클립을 멈추는 방법은 무엇입니까?

화살표의 각도를 얻은 다음 사용자가 계속이 점을지나 회전하지 않도록하려면 어떻게해야합니까? 당신의 화살표를 가정

import flash.display.MovieClip; 
import flash.events.MouseEvent; 
import flash.events.Event; 

stop(); 

var rotate = 0; 

decrease.addEventListener(MouseEvent.MOUSE_DOWN, decreasePressed); 
decrease.addEventListener(MouseEvent.MOUSE_UP, removeEnterFrame); 

function decreasePressed(e:MouseEvent):void 
{ 
     rotate = -2; 
     addEnterFrame(); 
} 

function addEnterFrame():void 
{  
    this.addEventListener(Event.ENTER_FRAME, update); 
} 

function removeEnterFrame(e:MouseEvent):void 
{  
    this.removeEventListener(Event.ENTER_FRAME, update); 
} 

function update(e:Event):void 
{  
    arrow1.rotation += rotate; 
} 

답변

0

화살표가 위쪽으로 가리키는 수직으로 만들어졌습니다, (당신이하고있는 것처럼) 시계 반대 방향으로 회전 8시 방향 약 -112입니다 : 여기

내 코드입니다 도. 따라서 업데이트 방법에 체크를 추가하여 화살표 회전이 -112보다 낮은 값으로 설정되지 않도록해야합니다.

// May need to adjust this depending on how your arrow is created 
var minDegrees = -112; 

function update(e:Event):void 
{ 
    var position:int = arrow1.rotation + rotate; 

    // Check increment of rotation does not take us past our limit 
    if (position <= minDegrees) 
     position = minDegrees; 

    arrow1.rotation = position; 
} 
+0

아하! 너무 많이 고마워! – Cat

관련 문제