Code action script 3 (AS 3.0)

jayjay075

Membre actif
31 Mars 2008
119
5
Bonjour à toutes et à tous. Je recherche actuellement le code (en AS 3) permettant de faire en sorte que lorsque l'on clique sur un symbole, on puisse le deplacer.
En AS 1 et 2, c'est :

[Nomdusymbole].onPress=function() {
startDrag(this);
}

Mais depuis que j'ai flash CS3, je ne peux faire que du AS 3, car si je met en AS 1 ou 2, un message d'erreur s'affiche disant :
Warning: 1090: Problème de migration : En ActionScript 3.0, le gestionnaire d'événement onPress n'est pas déclenché automatiquement par Flash Player lors de l'exécution. Vous devez d'abord enregistrer ce gestionnaire d'événement à l'aide de addEventListener ( 'mouseDown', callback_handler).

Merci d'avance de votre aide.
Ps : En passant, vous pouvez me donner l'equivalent de ceci en AS3 s'il vous plait ? :

[Nomdusymbole].onRelease= function () {
stopDrag;
}

Ps2 : Je sais, je suis un noob, mais je n'ai que 13 ans.

Merci d'avance :zen:.
 
Euh je ne fais pas de AS mais apparemment il te donne la réponse dans le message d'erreur...

Bloc de code:
[nomDuSymbole].addEventListener('mouseDown', function(){
         startDrag(this);
})

et probablement pour le onRelease changer l'event par un mouseUp ou un truc dans le genre, cherche dans la doc.
 
  • J’aime
Réactions: p4bl0
Okey merci pour le code. Mais j'ai un probleme, normalement, ce code devrait faire bouger que un seu symbole, mais le probleme, c'est que ce code fait bouger tous les symboles !!!
Quelqu'un peut m'aider ? ai-je fait une erreur qui ne vient pas du code ?

EDIT : En fait, je voudrais le code pour faire un petit truc en flash comme ceci : http://www.spotnik-tv.com/dotclear/...to-video-flash-8-le-drag-and-drop-niveau-noob (le zguegue...) mais avec le code de AS3 et non AS 1 ou 2 !

EDIT2 :
a24.addEventListener('mouseDown', function(){
startDrag(this);
})
a24.addEventListener('mouseDown', function(){
stopDrag();
})
Ce code devrait-il marcher ?
 
En fait ça venait du code, voici le code pour les interéssés :

import flash.events.Event;
import flash.events.MouseEvent;

a24.addEventListener(MouseEvent.MOUSE_DOWN, fun_MouseOver);
a24.addEventListener(MouseEvent.MOUSE_UP, fun_MouseOut);
function fun_MouseOver(event:MouseEvent):void{
a24.startDrag();
}
function fun_MouseOut(event:MouseEvent):void{
a24.stopDrag();
}

le "a24" est votre nom d'occurence evidement, donc pas le votre mais le mien :) merci à vous ! :zen:
 
Merde ! Encore un probleme ! Oulalal mais vous devez encore vous dire : Putain quel gros chieur celui là.

Oui oui, je suis trop chiant, je sais. Mais j'ai encore un probleme avec ce fichu code ! Ce code fonctionne parfaitement :

import flash.events.Event;
import flash.events.MouseEvent;

a24.addEventListener(MouseEvent.MOUSE_DOWN, fun_MouseOver);
a24.addEventListener(MouseEvent.MOUSE_UP, fun_MouseOut);
function fun_MouseOver(event:MouseEvent):void{
a24.startDrag();
}
function fun_MouseOut(event:MouseEvent):void{
a24.stopDrag();
}



Mais dès que j'en met deux d'affilés pour pouvoir faire bouger deux symboles (comme ça ) :

import flash.events.Event;
import flash.events.MouseEvent;

a24.addEventListener(MouseEvent.MOUSE_DOWN, fun_MouseOver);
a24.addEventListener(MouseEvent.MOUSE_UP, fun_MouseOut);
function fun_MouseOver(event:MouseEvent):void{
a24.startDrag();
}
function fun_MouseOut(event:MouseEvent):void{
a24.stopDrag();
}
import flash.events.Event;
import flash.events.MouseEvent;

a16.addEventListener(MouseEvent.MOUSE_DOWN, fun_MouseOver);
a16.addEventListener(MouseEvent.MOUSE_UP, fun_MouseOut);
function fun_MouseOver(event:MouseEvent):void{
a16.startDrag();
}
function fun_MouseOut(event:MouseEvent):void{
a16.stopDrag();
}

Voilà ce que le debogueur me dit :

1021: Définition de fonction dupliquée.
 
Rebonjour, vous savez si il existe un code en as3 qui permet de faire en sorte que lorsque par exemple, on fait un drag and drop et que la personne place les lettres aipap dans le sens papai il se passe quelque chose ?

Du genre, il y a marqué aipap, je replace les lettres dans l'ordre papai, une animation arrive en disant : GAGNÉ !!!

possible ou non ?
 
C'est en effet possible… le plus simple pour toi, je pense, serait de comparer les abscisses des clips à chaque lâcher : par exemple, si l'ordre est Y-E-P, la condition de résolution serait :
clip_Y._x < clip_E._x && clip_E._x < clip_P._x