Duplication, utilisation des variables, controle d'un movieclip et startdrag

Description

Cette source peut servir à tous ceux qui se pose des questions :
- Sur la duplication de movie
- Sur l'utilisation des variables
- Sur l'utilisation du drag

Cette source reste d'un niveau assez déplorable compte tenu de son optimisation et de mon niveau générale en Flash.
Si quelqu'un peut m'aider à la rendre meilleur je lui en serais extrêmement reconnaissant.

Conclusion :


stop();

//on commence déjà avec un petit exercice de style sur la duplication du Movie.
//on prend le petit carré en haut à gauche, et on le duplique
control_haut_btn.duplicateMovieClip("control_droite_btn", this.getNextHighestDepth());
//A noter que this.getNextHighestDepth() est assez pratique pour ne pas
//se prendre la tête avec la profondeur

//on assigne au nouveau movie les coordonnées de son précédent et on y ajoute
//la largeur et la hauteur de son précédent.
control_droite_btn._x = control_haut_btn._x+control_haut_btn._width;
control_droite_btn._y = control_haut_btn._y+control_haut_btn._height;
//on le fait tourner de manière à avoir la flèche du bon coté
control_droite_btn._rotation = 90;

//on refait la même chose pour le bouton qui va s'afficher en bas
control_haut_btn.duplicateMovieClip("control_bas_btn", this.getNextHighestDepth());
control_bas_btn._x = control_droite_btn._x-control_droite_btn._width;
control_bas_btn._y = control_droite_btn._y+control_droite_btn._height;
control_bas_btn._rotation = 180;

//et encore la même chose pour le bouton de gauche
control_haut_btn.duplicateMovieClip("control_gauche_btn", this.getNextHighestDepth());
control_gauche_btn._x = control_haut_btn._x-control_haut_btn._width;
control_gauche_btn._y = control_haut_btn._y+control_haut_btn._height;
control_gauche_btn._rotation = 270;

//le gros avantage du code précédent vient du fait que maintenant il n'y a plus
//qu'un seul bouton à modifier (place mais aussi forme, etc.) pour modifer
//l'intégralité du controleur (les quatres flèches en tout)

//on créé nos variables. But : avoir un flash dynamique avec tout plein
//d'interractions possibles.

//la variable rate correspond à l'intensité du déplacement
//la variable input correspond à ce qui s'affiche dans l'écran de gauche
var rate = 5;
input = rate;

//la variable rate2 correspond au nombre qui va s'ajouter à l'écran de gauche
//la variable input2 correspond à ce qui s'affiche dans l'écran de droite
var rate2 = 1;
input2 = rate2;

//maintenant on assigne à chaque bouton l'action qu'il doit avoir sur la forme
//du bas
droite_btn.onPress = function() {
input += rate2;
rate = input;
};
//ici lorsque l'on clique sur le bouton droite_btn, on met à jour la variable de input
//selon la manière suivante : input = input + rate2
//enfin on met à jour la variable rate qui servira pour le
//déplacement de l'objet du bas

gauche_btn.onPress = function() {
input -= rate2;
rate = input;
};
droite2_btn.onPress = function() {
input2 += 1;
rate2 = input2;
};
gauche2_btn.onPress = function() {
input2 -= 1;
rate2 = input2;
};

//voilà enfin les paramètres du controler qui vont faire bouger l'objet du bas
//Notez l'utilisation de la variable rate.
control_haut_btn.onRelease = function() {
bouton_btn._y -= rate;
};
control_droite_btn.onRelease = function() {
bouton_btn._x += rate;
};
control_bas_btn.onRelease = function() {
bouton_btn._y += rate;
};
control_gauche_btn.onRelease = function() {
bouton_btn._x -= rate;
};

//Pour le fun on met un startDrag, histoire de montrer au passage comment ça marche

//Note : j'ai délimité la zone de drag au carré, n'ayant pas réussi à le faire
//pour le reste... erf. je ne suis qu'un novice.
bouton_btn.onPress = function() {
startDrag(_root.bouton_btn, false, 81.6, 130.6, 466.8, 339.4);
};
bouton_btn.onRelease = function() {
stopDrag();
};

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.