[ Grand débutant ] Créer une ROUE en Flash avec arrêt aléatoire( du style : roue
pooowa
Messages postés3Date d'inscriptiondimanche 27 janvier 2008StatutMembreDernière intervention15 février 2008
-
27 janv. 2008 à 18:17
pooowa
Messages postés3Date d'inscriptiondimanche 27 janvier 2008StatutMembreDernière intervention15 février 2008
-
15 févr. 2008 à 19:28
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 arriveront sur la page avec la roue, il cliqueront sur un bouton " Jouer " ce qui lancera la roue ( coupée en 4 quartiers ) celle-ci ralentira jusqu'a s'arrêter ALEATOIREMENT sur une des 4 possibilités
Case 1 : 30% que ça tombe dessus
Case 2 : 30% que ça tombe dessus
Case 3 : 25% que ça tombe dessus
Case 4 : 15% que ça tombe dessus
Petit problème, je ne connais R.I.E.N en flash ou si ce n'est que ce qu'est un clip et je sais aussi ou il faut taper la commande pour un clip ( Bravo )
J'ai comme logiciel flash SWiSH Max en période d'essai ( je sais pas si c'est bien ... ).
Ce que je vous demande donc, ce sont des conseils ou complètement le code qu'il faut que j'insère sur mon clip ... et s'il faut faire plusieurs clips, etc...
var nSpin:Number;
var nInterval:Number;
activateButton(true);
var bd:BitmapData = new BitmapData(100, 100, false);
/* Fonction qui active/désactive le bouton */
function activateButton(b:Boolean) {
if(b) {
btn.gotoAndStop(1);
btn.onRelease = actionButton;
} else {
btn.gotoAndStop(2);
delete btn.onRelease;
}
}
function runWheel() {
if (nSpin <= 0){
// Si le "nombre de rotation" est inférieur à 0
// On arrete la roue
clearInterval(nInterval);
// On ré-active le bouton
activateButton(true);
/* On récupère le résultat */
// On récupère l'angle du rotation de la roue
var mat:Matrix = new Matrix();
mat.rotate(mcWheel._rotation * Math.PI / 180);
// On dessine la roue auquel on applique l'angle de rotation
bd.draw(mcWheel, mat);
// On affiche le résultat
setColor(mcResult, completeColorLabel(bd.getPixel(50, 40).toString(16)));
} else {
// On continue à faire tourner la roue;
mcWheel._rotation += nSpin -= 0.5;
}
}
/* Fonction lancée sur le clic du bouton */
function actionButton() {
nSpin = 24 + Math.floor(Math.random()*10); // On détermine de manière aléatoire le "nombre de rotation"
nInterval = setInterval(runWheel, 80); // On lance la roue
activateButton(false); // On désactive le bouton
}
/*
* Fonction pour changer la couleur d'un clip
* mc représentant le clip dont on veut changer la couleur
* s chaine réprésetant la couleur à appliquer au format RVB
*/
function setColor(mc:MovieClip, s:String) {
var r:Number = Number("0x" + s.substr(0,2)); //Composante R
var v:Number = Number("0x" + s.substr(2,2)); //Composante V
var b:Number = Number("0x" + s.substr(4,2)); //Composante B
var colorTrans:ColorTransform = new ColorTransform(0, 0, 0, 0, r, v, b, 255);
var trans:Transform = new Transform(mc);
trans.colorTransform = colorTrans;
}
/* Fonction qui rajoute au début de la chaine 0 jusqu'à ce que la chaine fasse 6 caractères */
function completeColorLabel(s:String):String {
var sResult:String = s;
while(sResult.length < 6) {
sResult = "0" + sResult;
}
return sResult;
}