begin process at 2010 02 10 04:21:11
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

ActionScripts

 > DÉPLACEMENT D'UN PERSONNAGE ANIMÉ AVEC L'ACTION SCRIPT V2 (FLASH MX & MX2004)

DÉPLACEMENT D'UN PERSONNAGE ANIMÉ AVEC L'ACTION SCRIPT V2 (FLASH MX & MX2004)


 Information sur la source

Note :
9 / 10 - par 4 personnes
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :ActionScripts Niveau :Débutant Date de création :23/01/2004 Date de mise à jour :25/01/2004 12:50:29 Vu / téléchargé :16 654 / 2 136

Auteur : Prouprou_Sensei

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (14)
Ajouter un commentaire et/ou une note


 Description

Cliquez pour voir la capture en taille normale
C'est pas le code définitif mais ca commence a se mettre en place. Ne soyez pas trop dur avec moi je suis encor qu'un débutant ^^
Bref cette animation nous montre qu'on peut facilement bouger un personnage avec les fléches du clavier. Le bug a été a moitié corrigé, lorsqu'on appuie sur les deux touches en meme temps, une seule répond.
Tout le code se trouve sur l'image 1.

Source

  • // on defini ici deux variables qui nous serviront par la suite
  • vard = false;
  • varg = false;
  • // on implante un ecouteur de key
  • ecouteur = new Object();
  • // cet ecouteur sert a replacé l'occurence quand une touche est relaché
  • ecouteur.onKeyUp = function() {
  • // prendre le code de la touche
  • laTouche = Key.getCode();
  • //si le code de la touche = 39 ou 37 (droite ou gauche)
  • if (laTouche == 39 || laTouche == 37) {
  • //l'occurence valki va stopper sur l'image "repo"
  • _root.valki.gotoAndStop("repo");
  • // la variable vard et varg = false
  • _root.vard = false;
  • _root.varg = false;
  • }
  • //si le code de la touche = 37 (gauche)
  • };
  • Key.addListener(ecouteur);
  • // les instructions qui suivent seront éffectués 12 fois par secondes (onEnterFrame)
  • valki.onEnterFrame = function() {
  • // si la touche enfoncé est RIGHT
  • if (Key.isDown(Key.RIGHT)) {
  • // et si la variable varg = 0
  • if (_root.varg == 0) {
  • // le clip se tourne vers la droite
  • this._xscale = 100;
  • //l'occurence valki va jouer a partir de l'image "cour"
  • this.gotoAndPlay("cour");
  • // la variable varg est egale a 1 (si on n'utilise pas cette variable, l'occurence se met 12 fois par secondes sur l'image "cour" l'animation est donc impossible. Ici cette action (depuis if (Key.isDown(Key.RIGHT))n'est utilisé qu'une seule fois
  • _root.varg++;
  • }
  • // la position vertical de l'occurence est augmenté de 15 pixel, 12 fois par secondes
  • this._x += 15;
  • } else {
  • if (Key.isDown(Key.LEFT)) {
  • // et si la variable vard = 0
  • if (_root.vard == 0) {
  • // le clip se tourne vers la gauche
  • this._xscale = -100;
  • //l'occurence valki va jouer a partir de l'image "cour"
  • this.gotoAndPlay("cour");
  • // la variable vard est egale a 1
  • _root.vard++;
  • }
  • // la position vertical de l'occurence est diminué de 15 pixel, 12 fois par secondes
  • this._x -= 15;
  • }
  • }
  • };
// on defini ici deux variables qui nous serviront par la suite
vard = false;
varg = false;
// on implante un ecouteur de key
ecouteur = new Object();
// cet ecouteur sert a replacé l'occurence quand une touche est relaché
ecouteur.onKeyUp = function() {
	// prendre le code de la touche
	laTouche = Key.getCode();
	//si le code de la touche = 39 ou 37 (droite ou gauche)
	if (laTouche == 39 || laTouche == 37) {
		//l'occurence valki va stopper sur l'image "repo"
		_root.valki.gotoAndStop("repo");
		// la variable vard et varg = false
		_root.vard = false;
		_root.varg = false;
	}
	//si le code de la touche = 37 (gauche)
};
Key.addListener(ecouteur);
// les instructions qui suivent seront éffectués 12 fois par secondes (onEnterFrame)
valki.onEnterFrame = function() {
	// si la touche enfoncé est RIGHT
	if (Key.isDown(Key.RIGHT)) {
		// et si la variable varg = 0 
		if (_root.varg == 0) {
			// le clip se tourne vers la droite
			this._xscale = 100;
			//l'occurence valki va jouer a partir de l'image "cour"
			this.gotoAndPlay("cour");
			// la variable varg est egale a 1 (si on n'utilise pas cette variable, l'occurence se met 12 fois par secondes sur l'image "cour" l'animation est donc impossible. Ici cette action (depuis if (Key.isDown(Key.RIGHT))n'est utilisé qu'une seule fois
			_root.varg++;
		}
		// la position vertical de l'occurence est augmenté de 15 pixel, 12 fois par secondes
		this._x += 15;
	} else {
		if (Key.isDown(Key.LEFT)) {
			// et si la variable vard = 0
			if (_root.vard == 0) {
				// le clip se tourne vers la gauche
				this._xscale = -100;
				//l'occurence valki va jouer a partir de l'image "cour"
				this.gotoAndPlay("cour");
				// la variable vard est egale a 1
				_root.vard++;
			}
			// la position vertical de l'occurence est diminué de 15 pixel, 12 fois par secondes
			this._x -= 15;
		}
	}
};


 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  • valkyrieMX.flaTélécharger ce fichier [Réservé aux membres club]34 304 octets
  • valkyrieMX2004.flaTélécharger ce fichier [Réservé aux membres club]69 120 octets
  • valkyrieMX2004.swfTélécharger ce fichier [Réservé aux membres club]Voir ce fichier11 306 octets

Télécharger le zip


 Sources du même auteur

Source avec Zip Source avec une capture [FLASH 8] CLASSE BITMAPDATA (GESTION DES CLIP AU NIVEAU DU P...
Source avec Zip CHAT EN FLASH AVEC SOCKETSERVER (OREGANO) ET FONCTION CRYPTA...
Source avec Zip Source avec une capture NEWS MAKER -- GUESTBOOK (LIVRE D'OR) EN FLASH/PHP/MYSQL OU X...
Source avec Zip PRELOADER POUR JPEG AVEC REDIMENSIONNEMENT ET CENTRAGE [MX20...
Source avec Zip Source avec une capture BASE D'UN BEAT'EM ALL [AEROFIGHTER] AVEC CLASSES AS2 (MX2004...

 Sources de la même categorie

Source avec Zip NAVIGATION DANS UN FICHIER XML par inaden
Source avec Zip Source avec une capture TWSCROLLBAR, UNE CLASSE DE SCROLLBAR SIMPLE ET PRATIQUE À UT... par Twinspirit
Source avec Zip Source avec une capture REBOND DE BALLON AVEC TWEEN par habibcode
Source avec Zip DIAPORAMA AS2 par ahmedhrbdj
Source avec Zip EXAMPLES DE TWEENS AS2 par rajas

Commentaires et avis

Commentaire de pegase31 le 23/01/2004 19:14:48 administrateur CS

Même remarque que pour les boules de neige : rien dans ton code ne justifie le format (MX 2004) de ta source et de ton anim ! :(

Commentaire de Prouprou_Sensei le 23/01/2004 20:00:13

C bon ca devrait etre compatible flash mx maintenant merci de m'avoir prévenu!
A tchao.

Commentaire de individis-bis le 24/01/2004 14:02:49

->>>pagase31
Et alors...? s'il n'a pas autre chose que MX 2004 il fait comment..???

Commentaire de Prouprou_Sensei le 25/01/2004 12:53:27

Voila je l'ai un peu modifié mais il reste toujours un probleme, si on appui sur la touche gauche et en meme temps sur la touche droite, la touche droit prend la prioritée mais j'aimerais bien que rien ne se passe si une touche est enfoncée et qu'on en enfonce une en meme temps.
Si quelqu'un a la solution...
Tchao !

Commentaire de pegase31 le 25/01/2004 14:24:11 administrateur CS

->>>individis-bis
Déjà, c'est "pegase" et pas "pagase" ...
ensuite, j'aimerais savoir si tu fais du flash depuis longtemps, car il y a un truc qui s'appel "paramètres de publication" et que dans l'onglet "flash" t'as un menu déroulant "version" ... et qui (Ô miracle) permet de sauvegarder ta source au formats antèrieurs de Flash.

pour Prouprou_Sensei :
Merci d'avoir si rapidement changé tes sources ! ;)

Commentaire de mywmaster le 26/01/2004 11:35:23

salut

>>>pegase31
Je suis débutant. Et ça ma fait froid dans le dos de voir ta réponse à individis-bis . Je pense que ce sont des remarques à éviter pour ne pas démotiver les troupes.
Voilà, C'était tout.

Commentaire de firfelin le 26/01/2004 18:34:03

hello,
c'est sûrement tout bête, mais j'ai un peu de peine à saisir l'emploi de tes deux variables...:-( Aurait tu l'amabilité de détailler un petit peu plus?

Commentaire de benjaoul le 26/01/2004 18:42:21

Franchemnt bien ta source mais j'aimerais savoir où faut-il placer un scrpit pour faire défiler un décor en fonction de la course du perso ?
merci

Commentaire de Prouprou_Sensei le 26/01/2004 22:09:28

jvé mettre des explications supplémentaires demain les gars si vous voulez, et benjaoul il suffit de mettre un script dans le meme genre que celui placé sur le perso mais ciblé sur un autre clip (le decor ici) je ferais un scrolling de paysage , je le mettrai dans la source tu verra c'est pas dur, je fais tout ca demain (mardi).
Tchao !
PS merci pour la note!

Commentaire de Prouprou_Sensei le 26/01/2004 22:44:56

PS2: allez voir sur http://cochire.free.fr/flashmo/valkyrie.html
...http://cochire.free.fr/flashmo/valkyrie.html...
c'est l'animation en entiere, c'est lourd (en taille) et c loin d'etre fini mais vous pouvez toujours jeter un coup d'oeil ^^
Tchao !

Commentaire de benjaoul le 27/01/2004 21:16:14

:D Bien l'anim. C'est carrément un jeu que tu vx faire, non ?
Sinon, ce serait cool que tu rajoutes le scrolling sur la source ; mon niveau de débutant ne me permettrait pas d'y parvenir :(  lol
merci
T'cha

Commentaire de Stan62970 le 26/03/2005 15:06:30

salut
où trouve tu le graphisme des perso ?????

Commentaire de Zakata le 03/09/2006 20:29:31

Salut à tous,

J'aime beaucoup ta source, je suis débutant en actionSript et j'aurais quelques questions:

je ne comprend pas l'utilité de ces deux lignes:

1)- Key.addListener(ecouteur);
et
2)- valki.onEnterFrame = function()

et oui je début vraiment ;)...
Pour la ligne 2), j'imagine que c'est une fonction qui s'éxécute mais je ne la comprend pas très bien.

J'ai aussi une remarque à faire:

j'ai l'impréssion que le else de la ligne 36 (sur le code ci-dessus)ne sert à rien. En gros tu fait:

# valki.onEnterFrame = function() {
#     if (Key.isDown(Key.RIGHT)) {
#         if (_root.varg == 0) {
#             [...]
#         }
#         this._x += 15;
#     } else {
#         if (Key.isDown(Key.LEFT)) {
#             if (_root.vard == 0) {
#                 [...]
#             }
#             this._x -= 15;
#         }
#     }
# };

C'est bizard de faire else et aprés if (Key.isDown(Key.LEFT)), car finalement le else sous entend le if (Key.isDown(Key.LEFT)) ?
Enfin peut être que je n'ai rien compris.

J'ai essayé de le suprimmer et ton code fonctionne très bien sans.

Voila a plus et encore merci d'avoir partagé ta source, elle répond exactement aux questions que je me posais.

Bonne journée.
Damien.

Commentaire de Prouprou_Sensei le 04/09/2006 01:30:48

Salut Zakata.

Alors attention, j'ai ecrit cette source quand j'aprennais a coder, et je te conseil d'utiliser plutot des tuto ou meme mieux des bouquins pour apprendre. Cela etant dis, je peut t'expliquer ce que tu ne comprends pas.

Key.addListener(ecouteur) permet d'enregistrer l'ecouteur en tant que tel sur l'objet Key. Ainsi, les evenements du clavier (utilisateur appuyant sur une touche ou la relachant) sont envoyé a l'ecouteur. On a definit la methode onKeyUp, le code contenu dans cette methode sera executé lorsque l'on relache une touche.

valki.onEnterFrame = function() : onEnterFrame est une methode de la classe movieClip qui permet d'executer du code a chaque frame (en fonction de l'animation donc)

Et effectivement j'aurais pu mettre :

# valki.onEnterFrame = function() {
#     if (Key.isDown(Key.RIGHT)) {
#         if (_root.varg == 0) {
#             [...]
#         }
#         this._x += 15;
#     } else if (Key.isDown(Key.LEFT)) {
#             if (_root.vard == 0) {
#                 [...]
#             }
#             this._x -= 15;
#         }
#     }
# };

Mais le else reste necessaire pour eviter l'appui des deux touches en meme temps, et le test de la condition aussi (if).

Bonne continuation !

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,515 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales