2010-08-08 6 views
0

J'essaie d'obtenir le pourcentage de coordonnées d'un MC. Par exemple, My MC a une largeur de 500 pixels et une hauteur de 20 pixels. Quand j'ai cliqué sur la partie de mon MC, je veux obtenir le pourcentage de mes coordonnées MC 'x ... (20% seront 100px de mon MC ...) .. Tout le monde sait comment le faire? Merci ..AS3 Simple Event Questions

mon code

progressBa.addEventListener(MouseEvent.CLICK, barClick); 

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

Répondre

1

Je ne suis pas très familier avec Actionscript, mais je la fonction trace(event) pour voir ce qui est dans l'événement:

[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] 

Comme vous pouvez le voir, l'objet MouseEvent a une propriété appelée localX, qui est celle dont vous avez besoin. Ainsi, la classe réelle pour le MovieClip est:

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); 
    } 
    } 
} 

À ma grande surprise, j'ai pu cliquer sur 100,018 ...%, peut-être à cause de l'anti-aliasing.

+0

Nice ... Merci pour l'aide ...... – FlyingCat