2010-08-08 3 views
0

Я пытаюсь получить процентную координату координаты MC. Например, My MC имеет ширину 500 пикселей и высоту 20 пикселей. Когда я нажал на часть моего MC, я хочу получить процент от моей координаты MC 'x ... (20% будут 100px моего MC ...). Кто-нибудь знает, как это сделать? Спасибо ..AS3 Простые вопросы о событии

мой код

progressBa.addEventListener(MouseEvent.CLICK, barClick); 

    private function barClick(event:MouseEvent):void{ 
    perct=this.mouseX/progressBa.Width; //not sure how to do it.... 
    } 

ответ

1

Я не очень хорошо знаком с Actionscript, но я использовал функцию trace(event) чтобы увидеть, что внутри события:

[MouseEvent type="click" bubbles=true cancelable=false eventPhase=2 localX=202 localY=5 stageX=296 stageY=88 relatedObject=null ctrlKey=false altKey=false shiftKey=false buttonDown=false delta=0] 

Как вы можете видеть, объект MouseEvent имеет свойство, называемое localX, которое вам нужно. Таким образом, фактический класс для мувика является:

package 
{ 
    import flash.display.MovieClip; 
    import flash.events.*; 

    public class progressBa extends MovieClip 
    { 
    public function progressBa() 
    { 
     // Add a mouse event to this, the movieclip called progressBa 
     this.addEventListener(MouseEvent.CLICK, clickBar); 
    } 

    private function clickBar(e:MouseEvent):void 
    { 
     // Get click location's x-coordinate in percentages 
     var percent = 100 * e.localX/this.width; 
     trace(percent); 
    } 
    } 
} 

К моему удивлению, я был в состоянии нажать на 100.018 ...%, может быть, из-за анти-псевдонима.

+0

Nice ... Спасибо за помощь ... – FlyingCat

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