Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import fl.transitions.Tween;
- import fl.transitions.easing.*;
- import fl.transitions.TweenEvent;
- import flash.utils.Dictionary;
- import flash.display.Sprite;
- import flash.events.MouseEvent;
- /*Définition des fontions en haut (ça plante moins) */
- /**
- * Fonction run
- * deplace l'objet suivant si le jeu n'est pas fini
- **/
- function run():void {
- if(objetDeplace < maxObjets) {
- deplacementInitial(objets[objetDeplace]); //on déplace l'objet
- } else {
- champTexte.text = 'Bravo ! Votre score est de : ' + score; //Texte de fin
- }
- }
- /**
- * Fonction deplacementInitial
- * Déplace l'objet donné sur le plateau
- **/
- function deplacementInitial(obj, temps = 1) {
- var positionPlateau = new Dictionary();
- /*Définition de la position sur le plateau*/
- positionPlateau['x'] = 400;
- positionPlateau['y'] = 245;
- //Référence de Tween : (http://help.adobe.com/fr_FR/FlashPlatform/reference/actionscript/3/fl/transitions/Tween.html)
- //Tween(obj:Object, prop:String, func:Function, begin:Number, finish:Number, duration:Number, useSeconds:Boolean = false)
- //Déplace l'objet sur le plateau, surement à revoir en fonction des objets
- var deplacementx:Tween = new Tween(obj, "x", Strong.easeOut, obj.x, positionPlateau['x'], temps, true);
- var deplacementy:Tween = new Tween(obj, "y", Strong.easeOut, obj.y, positionPlateau['y'], temps, true);
- //(ré)activation du listener
- obj.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
- obj.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
- }
- /**
- * Fonction testMatch
- * Teste si l'objet à été mis dans la bonne poubelle
- **/
- function testMatch(target, obj) {
- //Si l'objet = la valeur de dict[objet_depose]
- if(obj == dict[target.parent]) {
- champTexte.text = 'Ouiiii';
- //passe l'objet à 0.5 d'opacité
- obj.alpha = 0.5;
- //On augmente le nb d'objets déplacés
- objetDeplace++;
- //On augmente le score
- score++;
- //Et on relance le tout
- run();
- } else {
- champTexte.text = 'Loupé';
- //On peut par exemple baisser le score de 1 :
- //score--;
- deplacementInitial(obj, 1); //déplace sur le plateau à nouveau
- }
- }
- // Définit l´événement mouse down handler (l´utilisateur déplace l´objet)
- function mouseDownHandler(evt:MouseEvent):void {
- var obj = evt.target;
- // limite le déplacement à l´intérieur du canevas
- obj.startDrag();
- }
- // Lorqu'on lache le curseur
- function mouseUpHandler(evt:MouseEvent):void {
- var obj = evt.target;
- obj.stopDrag(); //stop le drag
- //Si on déplace pdt l'animation ça foire, donc je désactive le listener
- obj.removeEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
- obj.removeEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
- // obj.dropTarget donne la référence de la forme de l´objet sur laquelle on a déposé l'objet
- var target = obj.dropTarget;
- // Si l´objet existe on fais le test
- if (target != null)
- {
- testMatch(target, obj);
- }
- else
- {
- deplacementInitial(obj, 1); //sinon on le remet sur le plateau
- }
- }
- /* Script */
- //définition du champ de texte où apparaissent les infos
- var champTexte = textField;
- var dict = new Dictionary ();
- //Ici on défini tous nos objets de la façon suivante :
- //dict[objet_arrive] = obj;
- dict[poubelle_verte] = pomme;
- dict[poubelle_bleue] = pomme2;
- dict[poubelle_jaune] = pomme3;
- var maxObjets = 0; //va nous servir à la fin du jeu pour compter chaque objet déposé correctement
- var score = 0;
- var objets:Array = new Array(); //tableau d'objets
- for each (var item in dict)
- {
- item.useHandCursor = true; //donne normalement le curseur de main à l'objet qui peut bouger
- //Va stocker les objets numériquement pour qu'on puisse les faire suivre
- objets[maxObjets] = item;
- maxObjets++;
- }
- var objetDeplace = 0; //compteur des objets
- run(); //lance run();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement