Счетчик запускает спрайты as3 - PullRequest
2 голосов
/ 11 февраля 2010

Как использовать счетчик для запуска спрайтов? Нужен пример или идея для работы.

Я хочу, чтобы числовые значения загружали спрайты. Значение счетчика переходит в текстовое поле. Я хочу, чтобы каждое числовое значение имело условие «если» для воспроизведения спрайта с соответствующим номером.

альтернативный текст http://www.ashcraftband.com/myspace/videodnd/icon_7.jpg

Тупой пример
// счетчик воспроизводит картинки, а не числа в текстовом поле

Подробный пример
// если больше 0 и меньше 2, играть 1 ==> ОДИН ДИСПЛЕЙ НА ЭКРАНЕ

Сравнение
- переменное отображение данных "как Flash Music Visualization"
-данные вместо счетчика

Как это могло бы работать
загрузчики получают числовые значения от счетчика
-9 целей "9 чисел"
-добавить и удалить ребенка
- позволяет счетчику выглядеть как угодно

альтернативный текст http://www.ashcraftband.com/myspace/videodnd/icon-3.jpg

СЧЕТЧИК, КОТОРЫЙ Я ХОЧУ ИСПОЛЬЗОВАТЬ

//"counts to a million with two decimal places" <br>
var timer:Timer = new Timer(10); 
var count:int = 0; //start at -1 if you want the first decimal to be 0<    
var fcount:int = 0;   


timer.addEventListener(TimerEvent.TIMER, incrementCounter);    
timer.start();    

function incrementCounter(event:TimerEvent) {    
  count++;    
  fcount=int(count*count/10000);//starts out slow... then speeds up   
  mytext.text = formatCount(fcount);  
}  

function formatCount(i:int):String {   
     var fraction:int = i % 100;   
     var whole:int = i / 100;   

    return ("0000000" + whole).substr(-7, 7) + "." + (fraction < 10 ? "0" + fraction : fraction);   
} 

Ответы [ 2 ]

1 голос
/ 11 февраля 2010

Вы хотите сделать что-то подобное?

http://shaneberry.net/numbers/

Если это так, я могу поставить ссылку на источник.

0 голосов
/ 11 февраля 2010

Если я правильно понимаю ваш вопрос, вам нужен счетчик на экране, который использует разные изображения / спрайты для каждой цифры счета.

Вы можете изменить formatCount примерно так:

var decimal_space:int = 5;  //the amount of space for the"."
var width_of_sprite:int = 16;
var decimal_digits:int = 2;
var whole_digits:int = 7;
var sprites:Array = new Array();

//this will create sprites for the whole digits from left to right
for (var i:int = 0; i < whole_digits; i++) {
  var s:Sprite = new Sprite();
  s.x = i * width_of_sprite + decimal_space;
  sprites.push(s);
  this.addChild(s);
}

//this will create sprites for the decimal digits from left to right
for (var i:int = 0; i < decimal_digits; i++) {
  var s:Sprite = new Sprite();
  s.x = (i + decimal_digits) * width_of_sprite + decimal_space;
  sprites.push(s);
  this.addChild(s);
}

function formatCount(c:int):String {   
  for (var i:int = whole_digits + decimal_digits - 1; i >= 0; i--) {
    redraw_sprite(sprites[i],c % 10);
    c = (c - (c % 10)) / 10;
  }
} 

function redraw_sprite(sprite:Sprite, value:int):void {
  //add code here to redraw each sprite
}
...