0

我的计数器以恒定速度达到 100。有没有办法提高计数器的速度?

Flash 可以使用三角函数值来影响速度,但我不知道这是否可以即时更改计时器类。

它有几个部分。
(a.) 提高计数器的速度?

(b.) 某些部分的斜坡?
- 有一个范围
- 90-100 开始斜坡

增量三角的任何一个例子都会有帮助

替代文字 http://www.ashcraftband.com/myspace/videodnd/icon10.jpg

我要申请的 TRIG 示例

var xVel:Number = Math.cos(radians) * speed;
var yVel:Number = Math.sin(radians) * speed;
//-------------------------------------------//
return deg * (Math.PI/180);

加速计数器“所有的好例子”

//EVERYONE HELPED "decimals corrected" 
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 
  //
  var whole_value:int = int(fcount / 100); //change value 
  var tenths:int = int(fcount / 10) % 10;   
  var hundredths:int = int(fcount) % 10; 

“感谢您花时间提供帮助”

4

2 回答 2

1

为什么不使用许多 ActionScript 补间引擎之一,例如TweenLite

它可以为你做所有的数学运算,你只需要给它插值的变量,它的最终值,插值的总持续时间,并在不同的缓动函数之间进行选择。

在某些情况下,如果您需要真正自定义的东西,您可以使用您想要使用的持续时间和缓动函数将 Number 变量从 0 到 1 补间,然后定义一个onUpdate函数让您使用此值进行工作,这将随时间插值。

于 2010-02-09T22:29:06.177 回答
0

您可以通过将公式应用于计数变量来获得加速效果的简单近似值,如下所示:

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 
  var whole_value:int = int(fcount/100); 
  var decimal_value:int = int(fcount/10) % 10;
  var hun_value:int = fcount % 10;
  mytext.text = whole_value + " : " + decimal_value + hun_value; 
} 

即:count 有规律地增加,但 fcount 与 count 的平方成正比地加速。

如果你想要一个三角函数,你可以尝试fcount=int(acos(count/10000)*10000/(2*Math.PI));,但这仅适用于 count<=10000。

于 2010-02-09T23:21:53.913 回答