Aller au contenu

Besoin aide pour jeu basket en flash


stitch666

Messages recommandés

Bonjour à tous,

je suis débutant en flash et j'ai envie de me lancer dans un jeu,

je vous ai fait un dessin pour expliquer ce que je desire concretiser,

47092196420070918224532.jpg

est ce que ca vous parait compliqué?

si vous ne comprenez pas ou si vous n'arrivez pas a lire mon ecriture demandez moi ^^ merci!

Ca depend de ton niveau, si tu n'a jamais fais de code autre que i+1 ca va pas etre facile, va falloir reflechir, par contre si tu programme un quake tout les mois ca sera tout sec a coté.

Lien vers le commentaire
Partager sur d’autres sites

Bah c'est moyennement complexe, tout dépends comme l'a dit tsubasaleguedin de ton niveau.

Si tu débute vraiment dans la programmation (et pas seulement dans Flash) je te conseille de faire des petits bouts d'essais séparés et de ne pas te lancer tout de suite dans le projet complet : ça te permettra d'y voir plus clair.

Sinon, le principe global serait :

- de faire deux MovieClip avec tes glissières

- de leur animer avec un objet Tween (tween = interpolation, tu trouvera des exemples dans l'aide de Flash)

- sur ces Tween tu utilise la méthode "yoyo" pour que ça fasse des va et viens

- tu met sur tes glissières un évenement "onclick" et tu fais quelque chose du genre :

onclick -> Tween.stop() -> vérifie la valeur de "_x"

si "_x" est compris entre X1 et X2 -> joue le clip lancé réussi

sinon -> joue le clip lancé raté

Bon bien sûr maintenant il te reste à retrancrire ça en vrai code, mais le concept n'est pas plus compliqué que ça.

Bonne chance ! :fou:

Lien vers le commentaire
Partager sur d’autres sites

merci! oui en effet je suis un novice dans les deux matieres, donc pas facile facile, pour le teen "yoyo", pourrait ton faire intervenir un 3 eme intervalle qui jouerai un troisieme clip? ^^

et en admettant que tout les clip sont fais, combien de temps est ce que vous évalueriez ce projet?

Lien vers le commentaire
Partager sur d’autres sites

Oui bien sûr c'est possible :

onclick -> Tween.stop() -> vérifie la valeur de "_x"

si "_x" est compris entre X1 et X2  ET si "_x2" compris entre X3 et X4 -> joue le clip lancé réussi

sinon si "_x" est compris entre X1 et X2  OU si "_x2" compris entre X3 et X4 -> joue le clip lancé presque réussi

sinon -> joue le clip lancé raté

Au niveau du développement pour quelqu'un d'à peu près expérimenté je dirais 2 à 3 heures maximum.

Après pour créer les éléments graphiques et les animations de lancer, c'est une autre histoire.

Lien vers le commentaire
Partager sur d’autres sites

Un petit exemple, en fait c'est pas du tout compliqué :

http://membres.lycos.fr/ywg/pci/exemple_basket.swf

http://membres.lycos.fr/ywg/pci/exemple_basket.fla

PS : il faut flash 8 pour ouvrir la source, qui donne à peu près ça.

stop();

import mx.transitions.Tween;

var isStopped1:Boolean = false; //est-ce que la glissière est arrêté ?
var isStopped2:Boolean = false; //est-ce que la glissière est arrêté ?

var min:Number = 115; // position horizontale minimum
var max:Number = 140; // position horizontale maximum

// mouvement des glissières en boucle
var tslider1:Tween = new Tween (slider1_mc, "_x", None.easeNone, 40, 195, 40, false);
tslider1.onMotionFinished = function(){ tslider1.yoyo(); };
var tslider2:Tween = new Tween (slider2_mc, "_x", None.easeNone, 40, 195, 40, false);
tslider2.onMotionFinished = function(){ tslider2.yoyo(); };

bstop1_mc.onRelease = function(){
tslider1.stop();
isStopped1 = true; //on marque l'état arrêté
if(isStopped1 && isStopped2) posCheck(); //si les 2 glissières sont arrêtées, vérifie la position
};
bstop2_mc.onRelease = function(){
tslider2.stop();
isStopped2 = true; //on marque l'état arrêté
if(isStopped1 && isStopped2) posCheck(); //si les 2 glissières sont arrêtées, vérifie la position
};

function posCheck(){
//position des glissières
var x1 = slider1_mc._x;
var x2 = slider2_mc._x;

// si X supérieur ou égal à minimum ET inférieur on égal maximum, c'est TRUE, sinon FALSE
(x1 >= min && x1 <= max)?(x1 = true):(x1 = false);
(x2 >= min && x2 <= max)?(x2 = true):(x2 = false);

if(x1 && x2) lanceur_mc.gotoAndStop("lance_ok");
else if(x1 || x2) lanceur_mc.gotoAndStop("lance_presque");
else lanceur_mc.gotoAndStop("lance_rate");
}

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...