2010-04-30 5 views
0

Comment synchroniser ma minuterie avec mes lumières LED? Je ne comprends pas comment configurer les chaînes et les conditions, de sorte qu'elles sont uniques à chaque espace numérique.Substrings, minuterie et lumières LED, as3

Besoin d'une condition et des valeurs pour chaque clignoteur

var condition:Number = 5; 
if(condition==5){ 
blink.visible = !blink.visible; 
//blink_.visible = !box.visible; 
//blink__.visible = !box.visible; 
} 
} 

alt text http://www.ashcraftband.com/myspace/videodnd/logic.jpg

code complet

//MY TIMER 
var timer:Timer = new Timer(100); 
//INTEGER VALUES 
var count:int = 0; 
var fcount:int = 0; 
var oldcount:int = 0; 
//FORMATTING STRING 
function formatCount(i:int):String { 
var fraction:int = i % 100; 
var whole:int = i/100; 
return ("00" + whole).substr(-2, 2) + "." + (fraction < 10 ? "0" + fraction : fraction); 
} 
//START TIMER 
timer.start(); 
timer.addEventListener(TimerEvent.TIMER, condition); 
//ANIMATION 
function condition(event:TimerEvent):void{ 
count++; 
fcount=int(count) 
var toText:String = formatCount(fcount); 
dec.text = toText.substr(4, 1); 
decimal.text = toText.substr(3, 1); 
ones.text = toText.substr(1, 1); 
//LED LIGHTS 
var condition:Number = 5; 
if(condition==5){ 
blink.visible = !blink.visible; 
//blink_.visible = !box.visible; 
//blink__.visible = !box.visible; 
} 
} 

+1

Encore une fois pas tout à fait sûr de ce que vous voulez en venir; votre chiffre clignote, mais pas votre petit point? Votre objet * blink * a sa propriété visible à l'opposé de ce qu'il était avant chaque fois que votre objet * timer * se déclenche, donc je suppose qu'après un certain temps, votre point disparaît, puis après une autre unité de temps, il réapparaît, etc. Est-ce ce que vous voulez aussi pour les chiffres? En outre, quel est le problème avec vous définissant la variable * condition * à 5, puis immédiatement vérifier si c'est 5? Vous pourriez aussi bien enlever tout le bit, ça reviendra toujours vrai? Explique plus. – debu

+0

J'avais un problème de casting simple. Le! Visible est juste voulu créer un booléen pour tester mon code, et je vais probablement utiliser une interpolation à la place. ParseInt a ramené les chaînes aux nombres, et a utilisé les conditions sinon d'autres pour définir les objets LED. Les nombres décimaux sont synchronisés avec les nombres, mais celui-ci ne se déclenche pas correctement. Vois ma réponse. –

Répondre

0

Cela fonctionne
Si autre chose permet de déclencher tweens à des moments différents. Vous aurez une pause à zéro à chaque fois. Cela doit corriger cela, mais le reste est ok.

Refonte que le nombre des sous-chaînes

//RECASTING THE STRINGS 
var subThing:String = toText.substr(4, 1); 
var numberThing:Number = parseInt(subThing); 
trace(numberThing + " dec"); 
var subThing_:String = toText.substr(3, 1); 
var numberThing_:Number = parseInt(subThing_); 
trace(numberThing_ + " decimal"); 
var subThing__:String = toText.substr(1, 1); 
var numberThing__:Number = parseInt(subThing__); 
trace(numberThing__ + " ones"); 

Si Else

import fl.transitions.Tween; 
import fl.transitions.easing.*; 
//LED LIGHTS 
if(numberThing> 0){ 
numberThing++; 
var AlphaTween:Tween = new Tween(blink, "alpha", Strong.easeOut, 0, 2, 3, true);//0,1,1 
} 
else if (numberThing_> 0){ 
numberThing_++; 
var AlphaTween_:Tween = new Tween(blink_, "alpha", Strong.easeOut, 0, 2, 3, true);//0,1,1 
} 
else if (numberThing__> 0){ 
numberThing__++; 
var AlphaTween_:Tween = new Tween(blink__, "alpha", Strong.easeOut, 0, 2, 3, true);//0,1,1 
}