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编程一样。是的,我对生活感到愤怒,并在编程中发泄出来。是的,太棒了!这就是我想要的。请提供来源。它看起来像来自大都市的东西,太棒了。谢谢,阿加尼,我会把面条放在上面,这有助于辩论。