如何将数组值传递给create.js中的javascript函数?

时间:2014-04-15 20:19:54

标签: javascript easeljs createjs

只是想知道是否有人可以提供帮助?我似乎无法弄清楚如何获得

的价值
textArray[i].text

来自此功能

function tock(event) {
createjs.Ticker.setInterval(83.33333333333333);
var tickerInt = createjs.Ticker.getInterval();
var tickerTime = createjs.Ticker.getTime(true);
var realTime = Math.round(tickerTime/tickerInt);

if(counter > 0){
    realTime = realTime - counter * labelArray[labelArray.length -1].position;
}   

for (i = 0; i < labelArray.length -2; i++){
    if(labelArray[i].position){
    realTime >= labelArray[i].position;
    newStage.addChild(textArray[i].text);
    }
}

根据我的日志转储,数组包含正确的数据:

            var textArray = new Array();

    for (i = 0; i < labelArray.length -2; i++){
    this.tField = new cjs.Text("", "18px 'Arial'");
    this.tField.textAlign = "center";
    this.tField.lineHeight = 20;
    this.tField.lineWidth = 556;
    this.tField.setTransform(313,402);
    textArray.push(this.tField);
    textArray[i].text = mydata[keysbyindex[i]];
    }
    for (i = 0; i < labelArray.length -2; i++){
    console.log(textArray[i].text)
    }

我似乎无法访问它,但我不会在JS上工作太多,所以它可能是非常明显的。非常感谢任何帮助!

谢谢!

马特

1 个答案:

答案 0 :(得分:0)

简短的回答是 textArray 不是全局变量,因为它已使用 var 声明。如果它刚宣布像这样

textArray = [];

您可以在tock()函数中访问它。

当然,我不建议你使用全局变量。现在代码可能存在更深层次的问题。