Accueil > > > ROUE DE LA FORTUNE, DU DESTIN, ETC (ENTIEREMENT AS)
ROUE DE LA FORTUNE, DU DESTIN, ETC (ENTIEREMENT AS)
Information sur la source
Description
Ce code permet de faire tourner une roue découpée en X morceaux, et de la faire s'arreter quand on veut sur la case que l'on veut. Le morceau pointé à la fin par la flèche peut-être soit déterminé aléatoirement soit manuellement (cela permet par exemple de récupérer la case à afficher par un script PHP). Il est possible de déterminer le nombre de tours qu'effectue la roue avant de ralentir. Il est possible de déterminer une marge pour éviter que la flèche soit trop proche des limites entre les cases. Ce script prend en compte un clip de roue flouée, pour donner un pti effet de vitesse (dans l'exemple il est très moche ^^). Voilà, il y a bien sur des améliorations à faire, mais ce code fonctionne.
Source
- var tabCouleurs=["violet","orange","magenta","cyan","jaune","bleu","vert","rouge"];//Votre tableau avec les possibilités
- var ecartSecu=10;//Marge par rapport aux limites
- var nbTours=10;//Le nombre de tours avant l'arret
-
- var tabAngles = new array();//Le tableau qui accueillera les fourchettes des angles possibles en fonctions de la couleur
-
- var largeurTranche=(360/tabCouleurs.length)-ecartSecu;//la largeur d'une tranche de couleur
-
- //On détermine nos tranches en prenant compte de l'écart de sécurité
- for(var i=0;i<tabCouleurs.length;i++){
- var tabAnglesTemp=new Array();
- tabAnglesTemp.push((i+1)*ecartSecu+i*largeurTranche);
- tabAnglesTemp.push((i+1)*ecartSecu+(i+1)*largeurTranche-ecartSecu);
- tabAngles.push(tabAnglesTemp);
- }
-
- //fait tourner la roue
- function tournerRoue(){
-
- decompte--;
- if(decompte==0){//Si le décompte est à zéro on enclenche le ralentit
- arret=true;
- }
-
- if(arret==true && coeffRotation>0){//Diminue le coeffRotation=>roue ralentit, et efface l'effet de flou
- roueFloue._alpha-=100/coeffRotation;
- coeffRotation-=1;
- }else if(arret==true && coeffRotation<=0){//Si la roue est à l'arret on supprime l'intervalle
- clearInterval(IDInterval);
- }
-
- roue._rotation+=coeffRotation;//On effectue une rotation au clip de la roue en fonction du coeff rotation
- roueFloue._rotation=roue._rotation;//La roue floue suit la roue normale
- updateAfterEvent();//Pas forcément nécessaire
- }
-
- //Lance la roue
- function lancerRoue(){
-
- //On supprime les clips et l'intervalle s'il s'agit d'un deuxième lancé
- roue.removeMovieClip();
- roueFloue.removeMovieClip();
- fleche.removeMovieClip();
- clearInterval(IDInterval);
-
- //Soit le numéro du lot est aléatoire soit vous le choisissez
- numLot=Math.floor(Math.random()*tabCouleurs.length);
- //numLot=2;
- _root.nomLot=tabCouleurs[numLot];
-
- //on place nos clips sur la scène
- attachMovie("roue","roue",2);
- roue._x=280;
- roue._y=75;
- attachMovie("roueFloue","roueFloue",3);
- roueFloue._x=roue._x;
- roueFloue._y=roue._y;
- roueFloue._alpha=100;
- attachMovie("fleche","fleche",4);
- fleche._x=roue._x;
- fleche._y=roue._y-(roue._height/2)-fleche._height/2;
-
- coeffRotation=360/(tabCouleurs.length);//L'angle de rotation au début est de 360°/nbCouleurs
- arret=false;//La roue est en marche
- decompte=nbTours*tabCouleurs.length;//Un décompte qui permet d'effectuer un certain nombre de tours avant de ralentir
-
- //Roration de départ en fonction de la case choisie
- roue._rotation=Math.floor(Math.random()*(tabAngles[numLot][1]-tabAngles[numLot][0])+tabAngles[numLot][0])+3*coeffRotation;
-
- IDInterval=setInterval(tournerRoue,30);//on appelle la méthode toutes les 30ms
- }
- lancerRoue();//on lance la roue au début
-
- //Bouton de relance
- relancer.onPress = function(){
- lancerRoue();
- }
- stop();
var tabCouleurs=["violet","orange","magenta","cyan","jaune","bleu","vert","rouge"];//Votre tableau avec les possibilités
var ecartSecu=10;//Marge par rapport aux limites
var nbTours=10;//Le nombre de tours avant l'arret
var tabAngles = new array();//Le tableau qui accueillera les fourchettes des angles possibles en fonctions de la couleur
var largeurTranche=(360/tabCouleurs.length)-ecartSecu;//la largeur d'une tranche de couleur
//On détermine nos tranches en prenant compte de l'écart de sécurité
for(var i=0;i<tabCouleurs.length;i++){
var tabAnglesTemp=new Array();
tabAnglesTemp.push((i+1)*ecartSecu+i*largeurTranche);
tabAnglesTemp.push((i+1)*ecartSecu+(i+1)*largeurTranche-ecartSecu);
tabAngles.push(tabAnglesTemp);
}
//fait tourner la roue
function tournerRoue(){
decompte--;
if(decompte==0){//Si le décompte est à zéro on enclenche le ralentit
arret=true;
}
if(arret==true && coeffRotation>0){//Diminue le coeffRotation=>roue ralentit, et efface l'effet de flou
roueFloue._alpha-=100/coeffRotation;
coeffRotation-=1;
}else if(arret==true && coeffRotation<=0){//Si la roue est à l'arret on supprime l'intervalle
clearInterval(IDInterval);
}
roue._rotation+=coeffRotation;//On effectue une rotation au clip de la roue en fonction du coeff rotation
roueFloue._rotation=roue._rotation;//La roue floue suit la roue normale
updateAfterEvent();//Pas forcément nécessaire
}
//Lance la roue
function lancerRoue(){
//On supprime les clips et l'intervalle s'il s'agit d'un deuxième lancé
roue.removeMovieClip();
roueFloue.removeMovieClip();
fleche.removeMovieClip();
clearInterval(IDInterval);
//Soit le numéro du lot est aléatoire soit vous le choisissez
numLot=Math.floor(Math.random()*tabCouleurs.length);
//numLot=2;
_root.nomLot=tabCouleurs[numLot];
//on place nos clips sur la scène
attachMovie("roue","roue",2);
roue._x=280;
roue._y=75;
attachMovie("roueFloue","roueFloue",3);
roueFloue._x=roue._x;
roueFloue._y=roue._y;
roueFloue._alpha=100;
attachMovie("fleche","fleche",4);
fleche._x=roue._x;
fleche._y=roue._y-(roue._height/2)-fleche._height/2;
coeffRotation=360/(tabCouleurs.length);//L'angle de rotation au début est de 360°/nbCouleurs
arret=false;//La roue est en marche
decompte=nbTours*tabCouleurs.length;//Un décompte qui permet d'effectuer un certain nombre de tours avant de ralentir
//Roration de départ en fonction de la case choisie
roue._rotation=Math.floor(Math.random()*(tabAngles[numLot][1]-tabAngles[numLot][0])+tabAngles[numLot][0])+3*coeffRotation;
IDInterval=setInterval(tournerRoue,30);//on appelle la méthode toutes les 30ms
}
lancerRoue();//on lance la roue au début
//Bouton de relance
relancer.onPress = function(){
lancerRoue();
}
stop();
Conclusion
Créer trois clips : "roue", "roueFloue" et "fleche" et faites les liaisons.
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Nouveau type de jeux en Flash [ par neovalpox ]
Bonjour a tous. c'est mon premier post. il n'est pas la directement pour poser une question précise mais pour développer un jeu complet.Ce j
creation roue de la fortune [ par knone ]
bonjour j aimerai créé une roue de la fortune (enfin quelque chose de similaire)j ai d abord pensé a crée plusieur position de l aiguille comme pour
Devis pour jeu flash [ par hearty ]
Bonjour a tous, je voudrais savoir quel sont les tarifs pour la realisation d'un petit jeux flash du style de celui-ci par exemple : http://www.humour
test de jeu en ligne [ par vbsvannes ]
Bonjour à tous,J'essaye de développer sur mon temps libre des petits jeux en flash. J'aimerai avoir votre avis sur l'ergonomie de ces jeux.Je tiens à
besoin d'aide pour jeux flash :( [ par dani_fr ]
bjr tt le monde je suppose que le forum doit etre bombar dé de ce genre de demande... dsl mais je suis 1 quille en actionscript et je dois creer 1 je
Probleme pour site de jeu [ par gaspanik ]
J'ai fais ecrire un script qui permet de presenter des jeux avec ecran pub qui s'ouvre au demarragevoir ici http://www.web20list.com/temp/1/gameIntro.
Projet de jeu de roue [ par Naydjeune ]
Bonjour a tous... je cherche désespérément a le faire avec Macromedia Flash 8 mais je n'y arrive pas.... J'aimerais sur mon site web, installé une ro
[ Grand débutant ] Créer une ROUE en Flash avec arrêt aléatoire( du style : roue de la fortune ) [ par pooowa ]
Bonsoir à tous,J'aimerai créer pour mon site, une roue qui ressemblerai au jeu télévisé " La roue de la fortune " ( en Flash ).Quand les membres arriv
Projet jeu flash [ par Nicorad ]
Bonjour a tous,Je suis étudiant en écriture multimedia actuelement en stage, but de celui ci, creer un jeux flash et le vendre...Avant de commencer la
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|