Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flash 计数器触发精灵as3_Flash_Actionscript 3_Sprite - Fatal编程技术网

Flash 计数器触发精灵as3

Flash 计数器触发精灵as3,flash,actionscript-3,sprite,Flash,Actionscript 3,Sprite,如何使用计数器触发精灵?需要一个例子或想法来工作 我想要加载精灵的数值。计数器的值转到文本字段。我希望每个数字值都有一个“如果”条件来播放对应数字的精灵 愚蠢的例子 //计数器在文本字段中播放图片而不是数字 详细示例 //如果大于0小于2,则播放1==>屏幕上显示一个 比较 -可变数据显示“如Flash音乐可视化” -数据是一个计数器 它是如何工作的 -装载机从计数器接收数值 -9个目标“9个数字空间” -添加和删除子项 -允许计数器看起来像任何东西 我要使用的计数器 //"counts t

如何使用计数器触发精灵?需要一个例子或想法来工作

我想要加载精灵的数值。计数器的值转到文本字段。我希望每个数字值都有一个“如果”条件来播放对应数字的精灵

愚蠢的例子
//计数器在文本字段中播放图片而不是数字

详细示例
//如果大于0小于2,则播放1==>屏幕上显示一个

比较
-可变数据显示“如Flash音乐可视化”
-数据是一个计数器

它是如何工作的
-装载机从计数器接收数值
-9个目标“9个数字空间”
-添加和删除子项
-允许计数器看起来像任何东西

我要使用的计数器

//"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);   
} 
//“以两个小数位计数到一百万”
var定时器:定时器=新定时器(10); 变量计数:int=0//如果希望第一个小数点为0,则从-1开始 var fcount:int=0; timer.addEventListener(TimerEvent.timer,递增计数器); timer.start(); 函数递增计数器(事件:TimerEvent){ 计数++; fcount=int(count*count/10000);//开始时很慢,然后加速 mytext.text=格式计数(fcount); } 函数formatCount(i:int):字符串{ var分数:int=i%100; 整个变量:int=i/100; 返回(“0000000”+整数)。substr(-7,7)+“+”(分数<10?“0”+分数:分数); }
如果我正确理解您的问题,您需要一个屏幕计数器,该计数器对计数的每个数字使用不同的图像/精灵

您可以将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
}
var十进制空间:int=5//“”的空间量
_精灵的var-width_:int=16;
变量十进制数字:int=2;
变量整数值:int=7;
变量sprites:Array=newarray();
//这将为从左到右的整个数字创建精灵
对于(变量i:int=0;i<整数;i++){
var s:Sprite=新Sprite();
s、 x=i*精灵的宽度+十进制空间;
雪碧。推;
本.addChild(s);
}
//这将为从左到右的十进制数字创建精灵
对于(变量i:int=0;i<十进制数字;i++){
var s:Sprite=新Sprite();
s、 x=(i+十进制数字)*子画面的宽度+十进制空间;
雪碧。推;
本.addChild(s);
}
函数formatCount(c:int):字符串{
对于(变量i:int=整位数+十进制位数-1;i>=0;i--){
重新绘制雪碧(雪碧[i],c%10);
c=(c-(c%10))/10;
}
} 
函数重绘精灵(精灵:精灵,值:int):无效{
//在此处添加代码以重新绘制每个精灵
}

你想做这样的事情吗


如果是这样的话,我可以为消息来源建立一个链接。

+1为计数:)哈哈哈哈哈你问了一些疯狂的问题伙计!这就像通过SO编程一样。是的,我对生活感到愤怒,并在编程中发泄出来。是的,太棒了!这就是我想要的。请提供来源。它看起来像来自大都市的东西,太棒了。谢谢,阿加尼,我会把面条放在上面,这有助于辩论。