2008-11-11 9 views
0

Je suis en train de charger un film SWF externe, puis ajouter la possibilité de le faire glisser sur la scène, mais chaque fois que j'essaie de faire cela, je viens de frapper une impasse. Y a-t-il des limitations sur ce que vous pouvez définir être draggable ou cliquable? Un exemple de ce que je fais est ci-dessous:Flash loader et glisser

public function loadSwf(url:String, swfUniqueName:String) 
     { 
      var ldr:Loader = new Loader(); 

      var url:String = "Swfs/Label.swf"; 
      var urlReq:URLRequest = new URLRequest(url); 
      ldr.load(urlReq); 

      ldr.contentLoaderInfo.addEventListener("complete", loadCompleteHandler); 
     } 

     private function loadCompleteHandler(event):void{ 
      var ldr = event.currentTarget;   

        // These are only here because I can't seem to get the drag to work 
      ldr.content.doubleClickEnabled = true; 
      ldr.content.buttonMode = true; 
      ldr.content.useHandCursor = true; 
      ldr.content.mouseEnabled = true; 
      ldr.content.txtLabel.mouseEnabled = true;   

      this.addChild(ldr.content); 

      ldr.content.addEventListener(MouseEvent.MOUSE_DOWN, mouse_down); 

     } 

      mouse_down = function(event) { 
     trace(event.target); 
    } 

En utilisant le code ci-dessus, je ne peux l'obtenir pour reconnaître un clic sur le film lui-même si elle est sur un clic sur le champ de texte, mais cela a vraiment besoin travailler sur n'importe quelle partie du film. Des idées?

Répondre

1

Quelque chose dans le noir, mais pourriez-vous faire un clip transparent sur le film qui est chargé, qui déplace le swf en dessous?

2

Si le contenu de votre contenu est vide, Flash le traitera comme si vous aviez cliqué sur le clip à l'étape ci-dessous. Essayez d'ajouter un carré transparent à la couche inférieure du contenu que vous chargez.

Essayez aussi la mise:

ldr.content.mouseChildren = false;