2017-01-20 5 views
0

Pour une de mes classes, nous avons besoin de créer une déclarationIF: Opacité est de 50% ou moins Dessine Cercle

if (...){ 
then draw something! 
} 

. Cependant, je suis super nouveau pour JavaScrip et chaque fois que j'essaye de créer l'instruction if, je n'ai pas beaucoup de succès. Ce que j'essaie de faire est seulement d'avoir un cercle (en utilisant le canevas) montrer si l'opacité est de 50% (je peux changer cette valeur à un moment ultérieur) ou moins. Je l'ai pour que la couleur et l'opacité soient randomisées. J'ai d'autres formes avec cette conception, cependant, juste dans le but de cela, je les ai exclus de l'exemple ci-dessous et JSFiddle.

Voici ce que j'ai jusqu'à présent: JSFiddle

var draw_optional = true; 

if (ran_colours < "(0.5)"){ 
    draw_optional = true; 
    context.stroke(); 
} 

Je me demandais ce que je fais quelque chose de mal? Si vous cliquez sur le lien JSFiddle, vous pouvez voir mon code complet!

Merci d'avance!

+0

Avez-vous mis un point d'arrêt ou une alerte pour voir à quoi ressemble ran_colours lorsque vous faites votre comparaison? – Learning2Code

Répondre

0

ran_colours ressemble à ceci: "rgba(29,251,218,0.5617056562158282)".

que pensez-vous, est "rgba(29,251,218,0.5617056562158282)" plus petit que "(0.5)"? Droit, vous ne pouvez pas dire (j'espère). Vous devez obtenir la chaîne de valeur alpha, ou précalculer la valeur alpha et la stocker dans sa propre variable. Deuxième approche est beaucoup plus agréable, alors voici comment faire:

Avant d'attribuer la RGBA couleur à ran_colours, ajoutez cette ligne:

var alpha = Math.random(); 

Dans l'affectation ran_colours, remplacer le dernier appel aléatoire l'alpha variable

var ran_colours = 
"rgba(" 
+ Math.floor(Math.random() * 256) + "," 
+ Math.floor(Math.random() * 256) + "," 
+ Math.floor(Math.random() * 256) + "," 
+ alpha + ")"; 

Depuis alpha est juste un nombre, vous pouvez facilement écrire votre instruction if:

if (alpha < 0.5){ 
    draw_optional = true; 
    context.stroke(); 
} 
+0

Ça a marché !!! J'ai mis une valeur aléatoire alpha, puis ajouté la condition alpha et j'ai également dû déplacer tout le code du cercle pour être dans l'instruction "if"! Mais merci beaucoup !!! –

+0

pas de problème, de rien –