Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Flash/Flex
Flash/Flex Forum d'entraide sur les technologies Flash et Flex
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/03/2011, 14h52   #1
Invité de passage
 
Femme
Animatrice
Inscription : mars 2011
Messages : 1
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : Suisse

Informations professionnelles :
Activité : Animatrice
Secteur : Santé

Informations forums :
Inscription : mars 2011
Messages : 1
Points : 0
Points : 0
Par défaut Pour Script style Puzzle

Bonjour à tous,

Je cherche un script qui me permet de faire un exercice pour des ados avec problème de mobilité. Je voudrais un script qui me permet de faire du DragDrop avec ces 3 formes
Voir image :
http://img860.imageshack.us/i/formepuzzleflash.jpg/

Ils devront cliquez sur une forme (triangle, carré ou cercle) et la glisser dans la forme correspondante. Si c’est juste, elle doit «s’aimanter dans le cadre au moment ou il lâche le bouton de la souris.
Mais si c’est faux, il faudrait que la pièce retourne automatiquement en bas, à sa position originale.
Comme je l’ai vu sur un site avec un Puzzle.
J’ai cherché sur le web avec mon ami Google, mais bien que j’ai vu et tester divers scripts, et certainement qu’il soit sur le Web, je n’arrive pas à trouver celui-ci.
J’ai trouvé des fois des trucs qui permettaient de bouger une pièce en DragDrop avec ce script par exemple :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
graphique.addEventListener(MouseEvent.MOUSE_DOWN, enfonce);
graphique.addEventListener(MouseEvent.MOUSE_UP, lache);
 
function enfonce(event:MouseEvent):void {
 
graphique.startDrag();
 
}
 
function lache(event:MouseEvent):void {
 
graphique.stopDrag();
 
}
J’ai essayé de faire un 2ème copier/coller dessous, en changeant l’occurrence « graphique » par « graphique2 », mais ça ne marche plus. Alors qu’avec une pièce oui.
Et ce n’est que le début. Car je peux bien bouger cette pièce dans tous les sens, mais elle ne s’aimante pas à mon cadre si je la lâche dessus le cadre, ni ne revient à sa position initiale si je suis en dehors du cadre.

En espérant avoir été (virtuellement) assez claire. Alors si quelqu’un sait où il est ou connaît ce script afin que je n’ai plus qu’à faire un copier/coller car je bne suis pas (encore ;-)) une pro du Flash.
Mes ados vous en remercient d’avance.

Bonne journée à tous
Nicole
PS: j'ai Flash CS4 sur Windows 7
NiNicole est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/03/2011, 17h10   #2
Membre régulier
 
Avatar de SnowStyle
 
Homme
Développeur Web
Inscription : octobre 2005
Messages : 68
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : octobre 2005
Messages : 68
Points : 73
Points : 73
Salut, je n'ai pas connaissance de ce type de script que tu pourrais copier/coller
Tente encore des recherches sous google des mots clef comme "flash as3" avec "drag and drop" ou "drag&drop" et "dropTarget"

Concernant le script de drag&drop que tu exposes, je ne suis pas certain mais je suppose que ça vient des fonctions lache / enfonce, quand tu cliques sur graphique2 ça fait appel aux fonctions de graphique1, enfin j'imagine que c'est là que ça pose un souci
De toute façon vaut mieux pas faire des fonctions lache1 lache2 lache3 etc...

Le mieux est de te servir de l'event lui même, c'est à dire l'objet qui interagit avec le curseur

Donc ça devient par exemple :

Code :
1
2
3
4
5
6
7
 
function enfonce(event:MouseEvent):void {
	event.target.startDrag();
}
function lache(event:MouseEvent):void {
	event.target.stopDrag();
}
De cette manière, la fonction agira sur l'element graphique cliqué.

Concernant relâché l’élément dans son socle, il faut détecté si un socle est bien visé par l'utilisateur lors du drag, et il faut aussi vérifié si le socle correspond à l'element actuellement drag, de manière à le placer dedans ou pas.

Tu peux utiliser la propriété dropTarget de manière à savoir sur quoi ton graphique à été drop

Et pour savoir si les deux vont ensemble, tu peux utiliser la propriété name pour faire les comparaisons, en fesant en sorte que le socle du cercle et le cercle on les même propriété name défini.

Par exemple :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
 
socleducercle.name = '1';
cercle.name = '1';
 
function lache(event:MouseEvent):void {
	event.target.stopDrag();
 
	if (event.target.dropTarget.name == event.target.name) {
		//les deux ont la même propriété name
		//donc ils s'assemblent
	}
}
Pour donner l'impression que l'element graphique s'assemble avec son socle, tu peux créer un troisieme element representant les 2 assemblés, qui sera invisible et parfaitement placer de manière à créer l'illusion.
Ou alors tu peux placer le cercle parfaitement sur le socle et retirer la possibilité de drag&drop.

Si tu vois pas trop comment faire, le mieux serait que tu trouves un script fessant déjà tout cela
mais sinon hésite pas à poser des questions en montrant un peu ton code
SnowStyle est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h28.


 
 
 
 
Partenaires

Hébergement Web