AS3:动态添加的内容在奇怪的时候添加

时间:2012-01-19 00:50:24

标签: flash actionscript-3 actionscript

我遇到了通过间隔添加动态内容的问题。内容正被添加到屏幕上,但X位置以及补间似乎完全没有了。

以下是间隔为100毫秒时的屏幕截图,因为它显示效果最佳。应用程序需要在200毫秒的时间内工作(误差不是那么明显,但是线条仍然过于接近,大约每4秒)。

Error

可以看出,定位之间存在明显的差异。它仍然适合少数,然后改变,再次改变,然后最终恢复到原来的状态。

以下是我控制此部分的代码:

function XYZ(){ 
Score = 90
var timeBefore = Score

if(timeBefore <= 2.4){
    timeBefore = 2.5
    Score = "2.5"
}
else if(timeBefore > 75){
    timeBefore = 2.5
    Score = "2.5"
}

trace(timeBefore)
var signInterval:uint = setInterval (addThis, 100);
var finishInterval:uint = setInterval (checkThis, timeBefore*200);
MCArray.push(signInterval), MCArray.push(finishInterval)
}

function addThis(){
    trace("Adding this!")
    timeElap++
    var floorNum:sign = new sign
    //floorNum.visible = false
    floorNum.y = 325
    floorNum.x = 0 - floorNum.width
    floorNum.dtf_num.text = timeElap+""
    addChildAt(floorNum, 1)
    trace(stage.stageWidth+floorNum.width)
    trace(floorNum.width)
    TweenMax.to(floorNum, 1.5, {x:stage.stageWidth+floorNum.width, ease:Linear.easeNone})
    floorSigns.push(floorNum)
}

有任何想法导致这种情况发生的人吗?

注意:它也会在200和300毫秒时发生,但不太突出。

1 个答案:

答案 0 :(得分:1)

setInterval()setTimer()并不像您想象的那么精确。当你想要一个函数运行时,它们充其量只是提示。 Here is a article是关于JavaScript的,但也适用于actionscript。

您需要更改架构以及解决问题的方式。您想创建一个ENTER_FRAME处理程序,然后使用getTimer()来确定经过了多长时间,以及创建/定位和计划所需的时间。