begin process at 2010 02 10 06:52:25
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Flash / Flash MX

 > 

Scripts

 > 

ActionScript

 > 

déplacement d'un ennemi pour un jeu de combat


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

déplacement d'un ennemi pour un jeu de combat

mercredi 26 novembre 2008 à 13:55:48 | déplacement d'un ennemi pour un jeu de combat

vegetalain

Coucou... alors voilà je voudrais faire un jeu de combat genre street fighter...
dans le clip de mon perso principal j'ai mis ça :

onClipEvent(load){saut = 0;this.gotoAndStop(1);}
onClipEvent(enterFrame){horizontalspeed=0;friction=0.60;speed=4;speed2=10;
    //Marcher vers la droite     70=F
if(Key.isDown(70)){_xscale = 100;horizontalspeed+=speed;this.gotoAndStop(2);}
    //Courir vers la droite        71=G
if(Key.isDown(71)){_xscale = 100;horizontalspeed+=speed2;this.gotoAndStop(3);}
    //Marcher vers la gauche    83=S
if(Key.isDown(83)){_xscale = -100;horizontalspeed-=speed;this.gotoAndStop(2);}
    //Courir vers la gauche        81=Q
if(Key.isDown(81)){_xscale = -100;horizontalspeed-=speed2;this.gotoAndStop(3);}
    //Gestion de la friction sur le sol
this._x+=horizontalspeed;horizontalspeed*=friction;
    //S'accroupir                68=C
if(Key.isDown(68)){this.gotoAndStop(4);}
    //pour que le saut ne puisse pas dépasser 25
if(saut < -30){saut = -30;}
    //pour qu'il retombe s'il n'est pas sur le sol
_y -= saut
    //pour qu'il bloque sur les plateformes
if(hitTest(_root.pl1)){_y = _root.pl1._y}
    //pour qu'il ne puisse sauter que kan il touche le sol
if(hitTest(_root.pl1)){if(Key.isDown(69)){saut = 30;this.gotoAndStop(5);}}
    //bloké à droite
if(_x>915){_x =915}
    //bloké à gauche
if(_x<35){_x =35}
    //pour qu'il tombe s'il ne touche pas le sol
saut -= 1.7
}
    //On revient à l'anim' "statique"
onClipEvent (keyUp) {this.gotoAndStop(1);}
    //LES COUPS !!! 8D
onClipEvent (keyDown) {
    //COUP DE POIND (K)
if(Key.isDown(75)){this.gotoAndStop(6);}
    //COUP DE PIED (M)
if(Key.isDown(77)){this.gotoAndStop(7);}
    //SPHERE ENERGIE (B) et (N)
if(Key.isDown(66) and Key.isDown(78)){this._parent.zesphere._y=230;this.gotoAndStop(8);}
}

Ca marche tip top... à part pour le saut, il faut que je prépare des anims qui "font bien" :D

Et pour l'ennemi, j'aimerais savoir comme procéder... pour l'instant ce n'est qu'un bloc rouge. avec ça dedans :
onClipEvent (enterFrame) {
    currentlocx = this._x;
    differencex = _root.bouffonx-currentlocx;
    accelx = differencex/5;
    this._x = this._x+accelx;
}
et en extérieur, ce q ue j'appelerais un "timer" genre VB. un clip avec plusieurs frames contenant chacunes, ceci :
_root.bouffonx =Math.random()*800;
800 étant la largeur maxi du terrain.

Voilà ma question finale donc :
Comment faire en sorte que le perso bouge de façon "sensée" sur la map... et "agisse" à l'encontre du perso principal, le joueur quoi...?

Là pour l'instant, il se déplace à la vitesse de la lumière hihihi, de droite à gauche tu n'as pas le temps de le chopper, grrr... j'ai merais un type de gestion plus... "logique"... les sources sur le sujet ne sont pas légion ont dirait, c surtout du jeu en vue de dessus ou avec un terrain qui défilent et les ennemi bouge de gauche à droite dans un périmètre donné ou alors je sont pas beaucoup agressifs...
Et comme je me doute qu'il faut une sorte d'ia, c'est l'horreur...

Un conseil ou un site pitète?...
Merci de votre avis.
jeudi 27 novembre 2008 à 11:38:36 | Re : déplacement d'un ennemi pour un jeu de combat

raddreamer

Je vois que t'as pas abandonné le jeu cool,
Gérer l'IA de ton ennemi ça va pas être facile, surtout pour un jeu de baston, selon le niveau de difficulté va falloir que tu lui crée des comportements, des enchainements de coups, bon courrage (enfin ça des bouquins sur les IA ça doit exister).

Je saurai pas trop quoi te conseiller pour ton ennemi mais déjà insérer dans ton player et ton ennemi une commande qui fait que lorsqu'ils ne sautent pas, ils se fassent face l'un à l'autre. Ensuite que les 2 sprites ne puissent pas s'inter-pénétrer dans une certains limite (faut bien qu'ils se castagnent quand même) faudrait que tu établisses un noyau dur (le tronc de ton perso) et une zone tampon (la zone du pied ou du poing quand ils frappent)
Là où ça risque de coincer c'est quand ton ennemi t'accule dans l'angle et saute sur toi. faut prévoir un truc du genre "quand le bord arrière de sprite1 est tout prêt d'une limite de l'écran, sprite 2qui est en position saut et avec bord avant à la limite de l'écran glisse quand il retombe pour atteindre une position collée au sprite"

Pour ton déplacement, faudrait :
1 - que tu lui définisses une vitesse de déplacement définie en marche
2 - que tu définisses une temporalité à ton ennemi
3 - que ton point à atteindre soit un entier
4 - que tu mettes une marge d'erreur à l'approche (ton perso va surement se déplacer et dépasser et revenir sans cesse sur ton point)
là avec ton onenterframe :
il redéfini tout le temps une vitesse en fonction de déplacement, (loin= rapide) (proche=lent), un perso de jeu ça marche ou ça court, à moins que tu veuilles faire une simulation d'appontage ^^;
ton ennemi là tant qu'il est du côté droit ça peut marcher ton code mais quand il se trouve à la gauche de son objectif ?

faudrait que je continue mon début de beat'em all mais là c'est l'as3 en priorité !
jeudi 27 novembre 2008 à 12:41:40 | Re : déplacement d'un ennemi pour un jeu de combat

vegetalain

Merci de ta réponse, en fait je crois que je vais commencer par dupliquer les frames de mon perso principal, sur celui de l'ennemi, et faire en sorte qu'ils se fassent face. Ensuite pour le côté "ennemi qui balance les bons mouvements au bon moment... je verrais, je cherche de la doc sur le net...

Ben enfait les jeu de combat j'en ai pas trouvé à par sengoku sur ce meme site mais le code eset un peu chelou pour moi.... je préfère repartir de zéro en qqsorte... histoire d'y voir un peu  plus clair que du copier coller rectifier... enfin, dans le cadre de mes capacités.
jeudi 27 novembre 2008 à 14:43:13 | Re : déplacement d'un ennemi pour un jeu de combat

vegetalain

J4a fini par trouvé ça :
http://www.flashkit.com/movies/Games/Full_Game_Source/Fighting-Superdea-12231/index.php
mais j'arrive pas à l'ouvrir, mon flash8 ne doit pas "trop vieux"... Grrrr
lundi 1 décembre 2008 à 12:32:42 | Re : déplacement d'un ennemi pour un jeu de combat

vegetalain

bona lors j'ai réussi a zieuter le fichier, mon "ennemi" maintenant suis le perso principal, se retourne kan le perso principal passe derrière, il charge un clip kan on le cogne, un autre kan il est mort, et un autre kan il avance. kan il y a contact avec le perso principal, celui-ci perd des points de vie... c loin d'être fini mais je suis pas mécontent de la tournure que ça prend... restera a faire les dessins "en conséquence" :)
J'ai rajouté des pak de vie au cas où la barre de vie du perso principal déclinerait trop vite !!!!...
voilà...
Ca avance, ça avance...
lundi 1 décembre 2008 à 13:32:00 | Re : déplacement d'un ennemi pour un jeu de combat

raddreamer

Je vois que ça avance, par contre dommage que tu commences à faire ça en as2 :(
Mon premier jeu pareil j'ai fait en as2, là maintenant que je commence l'as3 je galère grave pour la construction par contre ça va être un plaisir une fois les outils développés :)

Sur le fichier qui te sert de modèle, une fausse note assez grosse : les persos n'ont pas de substance, ils peuvent se rentrer dedans pas bon ça ^^

Enfin tu vas apprendre quelques bons trucs certainement même si tu restes en AS2 (tu auras juste plus mal au cul au passage en as3 après) ^^;

Bonne chace
lundi 1 décembre 2008 à 14:09:37 | Re : déplacement d'un ennemi pour un jeu de combat

vegetalain

Miciiii... Ah, pour le côté "on se rentre dedans", c bon : le perso ennemi qui "me suit" se stop kan il est proche genre d'un ou deux pixels...
Sinon ben vi c de l'AS2, j'ai que flash8 là. Cela dit je ne veux pas non plus faire 3000 jeux, là c un délire que je veux réaliser :)
y'a aussi un truc marrant qui se passe une fois que tua s battu ton adversaire, j'ai fait le bloc "ennemi", à l'horizontal... kan tu marche, le "cadavre" te suit en glissant, mdr !!! enfin je te tiens au courant :) !! au fait, j'ai vu ton jeu il est super sympa :
http://www.flashkod.com/codes/YOUKAI-TAISEN-GRANDE-GUERRE-MONSTRES_47839.aspx

tu as mis longtemps à faire ça???
lundi 1 décembre 2008 à 16:11:57 | Re : déplacement d'un ennemi pour un jeu de combat

raddreamer

Un mois et demi pour le jeu enfin, temps passé surtout sur les sprites. D'où le nombre de bugs pas possible (blocage du jeu lors de l'apparition du boss, scoll d'upgrade qui change pas de couleurs). J'ai du boulo en somme :)
là je lui fais un lifting graphique et une refonte en AS3 (y a pas à dire ça gère mieux le plein d'ennemis et les scrolls rapides de décor).
Je pourrais ajouter les niveaux suivants une fois que je maitriserai mieux la bête ^^;

lundi 1 décembre 2008 à 16:27:59 | Re : déplacement d'un ennemi pour un jeu de combat

vegetalain

Mon jeu a moi sera plus simple...
un écran d'accueil
un écran de choix du perso
un écran de choix de la map (décors)
et GO  8)
Une fois le combat fini on peut "rejouer" et on est renvoyé à l'écran de choix du perso.
Point... là où je m'éclaterais au niveau graphique, ce sera dans les options,a vec choix des habits.
Et aussi dans les "persos cachés", "décors cachés"...
Sinon tant que les perso se donnent des coups et que la jauge de vie en pati, "proportionnellement" et que ça fait "style"... ça me va...
Hm... oserais te passer mon fla pour que tu le zieute un peu?j'arrive pas bien à gérer le :
ennemi qui frappe
ennemi qui fait "ouille"
le côté "hittest" j'arrive pas trop à le gérer en fait...

mardi 2 décembre 2008 à 16:03:42 | Re : déplacement d'un ennemi pour un jeu de combat

raddreamer

Le plus important c'est de bien cibler ton projet, histoire de pas avoir à te retaper tout le code par la suite
Pour ton problème de cadavre qui suit ton personnage très simple :
mets en condition qu'il faut qu'il soit vivant (hp >0) pour bouger ;)

1 2

Cette discussion est classée dans : key, saut, gotoandstop, isdown, horizontalspeed


Répondre à ce message

Sujets en rapport avec ce message

mon perso ne s'arret jamais de courrire... [ par bloodnail ] bonjour,j'ai commencer un nouveau jeux d'aventure au style Double Dragon au nes.voici le script que jai mis sur mon perso :--------------------------- dupliquer un clip et ses fonctions [ par nat74 ] Bonjour.J'ai créé des clips que l'on peut déplacer dans tous les sens par drag and drop, quel'on peut faire tourner avec   les flèches du clavier et q flash ne reconné pas les code pour l'activation des touches [ par analplus ] bonjour je fé un pti jeu flash mais mon gro pb est ke flash ne reconnait pas les touche ex; je ve lancer l'anim sur la touche "a" il me la lance sur n déplacer images [ par JCpp ] <?xml:namespace Désactiver une touche du clavier ...onEnterFrame ..Key.isDown(32).. [ par syl999 ] Pour un simple jeu, il faut que l'utilisateur presse la barre d'espace entre la frame 100 et 110 pour gagner. J'ai donc placé un movie clip nommé [i] HELP!!! pour mon jeux flash ! [ par snakeeater1 ] bonjour voila g un big pb :au début j'ai une bestiole ( un clip ) que je fait ce déplacer comme sa :onClipEvent(load){_root.vitesse = 0;} onClipEvent( Attribuer des touches a un deplacement [ par Devil17049 ] bonjour j'ai un autre petit probleme j'aimerais remplacer les fleches par des touches commes D pour droite Q pour gauche Z pour haut et S pour bas voi Changer d'image selon la touche [ par MaxusViardis ] Salut,Voila j'ai créé un clip appellé "perso_face" sur lequel j'ai placé ce code:onClipEvent (enterFrame) { if (Key.isDown(Key.UP)) { this._y -= 1 Jeu de plateforme > saut de personnage [ par Gizmil ] Salut, J'ai décidé de créer un petit jeu de plateforme en Flash mais je ne suis pas encore un génie en ActionScript, loin de là, donc j'aimerais c Flash AS [ par gozila ] Alors je vous presente mon probleme.Je veux deplacer mon perso et qu'il se remette de face a chaque fois que l'on relache les fleches car la sur mon c


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,530 sec (4)

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