IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Flash/Flex Discussion :

Pour Script style Puzzle


Sujet :

Flash/Flex

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Animatrice
    Inscrit en
    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 : 1
    Points
    1
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  2. #2
    Membre régulier Avatar de SnowStyle
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2005
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2005
    Messages : 73
    Points : 91
    Points
    91
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

Discussions similaires

  1. Script pour menu style RocketDock
    Par Dalamar dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 29/03/2010, 19h44
  2. Recherche de script pour image style sncf
    Par mims1664 dans le forum Flash
    Réponses: 1
    Dernier message: 04/02/2009, 13h35
  3. Réponses: 8
    Dernier message: 19/10/2005, 15h06
  4. Composant pour Script Interbase
    Par Andry dans le forum Bases de données
    Réponses: 2
    Dernier message: 05/10/2004, 09h59
  5. aides pour script en shell
    Par komatek dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 12/08/2003, 15h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo