2015-03-05 6 views
0

У меня есть невероятно простой код, который отлично работает, позволяя мне перетаскивать кнопку «ползунок» по горизонтали. Тем не менее, я также хочу, чтобы текст, который появляется над объектом, изменился в зависимости от того, какая координата x объекта, который я перетаскиваю.Динамическое изменение текста с помощью перетаскивания во Flash CS6 (AS3)

Вот простой код:

var rectangle:Rectangle = new Rectangle(31,944,179,0); 
Button.addEventListener(MouseEvent.MOUSE_DOWN, fl_ClickToDrag); 

function fl_ClickToDrag(event:MouseEvent):void 
    { 
    Button.startDrag(false, rectangle); 
    } 

Button.addEventListener(MouseEvent.MOUSE_UP, fl_ReleaseToDrop); 
function fl_ReleaseToDrop(event:MouseEvent):void 
    { 
    Button.stopDrag(); 
    gotoAndPlay(20); 
} 

Что я хочу сделать, это есть система определения, где «Button» с точки зрения ее координаты х, и если х-координата выше чем, скажем, 50, для текста над «Button», чтобы сказать «50+», и если x-координата выше 100, чтобы текст изменился на «100+». Я также не уверен, что координата x должна быть относительно прямоугольника или относительно всего экрана.

Любая помощь приветствуется.

ответ

0

Вы можете использовать логический вар, чтобы указать, если ваша кнопка тащится и если, а затем обновить текстовое поле, как это:

var is_dragged:Boolean = false; 
var rectangle:Rectangle = new Rectangle(0, 100, stage.stageWidth - button.width, 0); 

stage.addEventListener(Event.ENTER_FRAME, _onEnterFrame); 
function _onEnterFrame(e:Event):void { 
    if(is_dragged){ 
     text_field.text = String(Math.round(button.x/50) * 50) + '+'; 
    } 
} 

button.addEventListener(MouseEvent.MOUSE_DOWN, button_onPress); 
function button_onPress(e:MouseEvent):void {  
    button.startDrag(false, rectangle); 
    is_dragged = true; 
} 

button.addEventListener(MouseEvent.MOUSE_UP, button_onRelease); 
function button_onRelease(e:MouseEvent):void { 
    button.stopDrag(); 
    is_dragged = false; 
} 

Вы можете увидеть этот код работает here.

Надеюсь, что это поможет.

+0

Спасибо! ... Работает сейчас, и ваш пример был полезен. – dzinermachine

Смежные вопросы