Drag sur loader

cs_Cestmoi Messages postés 75 Date d'inscription lundi 1 avril 2002 Statut Membre Dernière intervention 3 juin 2012 - 12 août 2008 à 15:18
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 - 14 août 2008 à 19:44
Bonjour,

Je seche sur ce pb... A partir de tutoriaux, j'ai fait ce code simple. Je souhaite charger dynamiquement une image et pouvoir la dragger.

// création du conteneur de l'image ou du swf
var conteneurImage:Loader = new Loader();
// url de l'image ou du swf à charger
var image:URLRequest = new URLRequest("http://www.bases-as3.fr/wp-content/uploads/2008/03/eyrolles-as3.jpg");
// chargement de l'image ou du swf dans le conteneur
conteneurImage.load(image);
// affichage du conteneur
addChild(conteneurImage);

addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);

function mouseDownHandler(evt:MouseEvent):void{
    var obj = evt.target;
    obj.startDrag();
}

function mouseUpHandler(evt:MouseEvent):void{
    var obj = evt.target;
    obj.stopDrag();   
}

Mais impossible, j'ai l'erreur : "La propriété startDrag est introuvable sur flash.display.Loader et il n'existe pas de valeur par défaut"

Comment faire svp ?

7 réponses

pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
12 août 2008 à 18:20
addChild(conteneurImage); ... le soucis c'est que contenerImage n'est pas un DislpayObject. Donc tu risques de te faire allumer même si tu règles ton problème.
De plus, tu n'attends pas la fin du chargement de ton image.

- Ajoute un évènement qui se déclenchera à la fin de ton chargement
- dans cet évènement crée une image Bitmap du contenu de ton Loader et affiche-là sur la scène.

Et seulement à ce moment, ajoute les listeners de Drag & Drop.

Là flash va pas aimer ton code du tout ...

Peg'
0
cs_Cestmoi Messages postés 75 Date d'inscription lundi 1 avril 2002 Statut Membre Dernière intervention 3 juin 2012
13 août 2008 à 01:08
- dans cet évènement crée une image Bitmap du contenu de ton Loader et affiche-là sur la scène.

bitmap du contenu ??
0
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
13 août 2008 à 01:21
oui, tu devrais aller voir dans le dico de flash à la section Class Loader

Peg'
0
cs_Cestmoi Messages postés 75 Date d'inscription lundi 1 avril 2002 Statut Membre Dernière intervention 3 juin 2012
13 août 2008 à 01:26
bah oui mais non... :

the Bitmap object
must meet certain conditions to use it:
No stretching, rotation, or skewing can be applied to the Bitmap object.

C'est tout le principe de mon anim, drager puis tourner et redimensionner mes images...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
13 août 2008 à 01:50
alors il va falloir que tu apprennes à te servir des classes suivantes :

Loader
Bitmap
BitmapData
Matrix

Et une fois que tu sauras faire ça, tu pourras créer ton anim ... mais moi ça m'a pris un certain temps pour comprendre.
Bon courage à toi, et n'oublies pas que Flash ne s'apprend pas en 2 jours.

Peg'
0
cs_Cestmoi Messages postés 75 Date d'inscription lundi 1 avril 2002 Statut Membre Dernière intervention 3 juin 2012
14 août 2008 à 19:28
Ok c good...

J'ai fait un petit var bitmap:Bitmap =  evt.target.loader.content;

Et là ca marche...

Merci !
0
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
14 août 2008 à 19:44
pas de quoi ;)

Peg'
0
Rejoignez-nous