Flash SWF播放的答案已经填好了吗?

时间:2013-06-20 21:32:36

标签: flash actionscript adobe

好的,我的flash CS5.5程序遇到了一个奇怪的问题。我有一个主swf加载另一个swf作为一种迷你游戏交易,然后在swf完成后继续。问题出在我的外部迷你游戏swf上。在您猜测第一个问题后,在SWF中,您将被带到具有输入/输出图表的屏幕,并且有2个文本字段,玩家必须正确填写才能赢得积分并继续。这就是我遇到奇怪问题的地方。

每当我从主SWF运行SWF时,它会立即开始填写正确答案的字段,如果你点击答案按钮,它会告诉你每次都不正确,所以没有超过它。但是,如果我通过双击打开它在SWF之外单独运行游戏它运行得很好并且问题不存在。有没有人知道为什么会这样?提前谢谢大家。

编辑: 我之前应该提到我的主要SWF是用Adobe Flash Professional CS5.5构建的,而有问题的外部SWF是FlashDevelop 4项目。

以下是加载外部迷你游戏swf的代码:

toolLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, updateCurrentProgress);
toolLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onToolLoaderComplete);

function updateCurrentProgress(evt:ProgressEvent):void {
    var currentLoaded:Number = evt.bytesLoaded/evt.bytesTotal;
    currentLoaded = Math.round(currentLoaded*100);

    // update the preloader bar
    progressBarLoad.graphics.beginGradientFill(GradientType.LINEAR, [0xaaaaff, 0x000088], [1, 1], [0, 255], gradientMatrix, SpreadMethod.PAD);
    progressBarLoad.graphics.drawRect(1, stage.stageHeight-49, int(currentLoaded*8)-1, 48);

    // update the preloader text
    progPercentText.text = "Loading... "+currentLoaded+"%";
}

function onToolLoaderComplete(evt:Event):void {
    addChild(toolLoader);
    addEventListener(Event.COMPLETE, gotoQuestions);
}

来自外部swf的游戏代码用于填充表单字段(我没有编写此函数):

private function populateRule(rule:Function, startPoint:Number, increment:Number):Array{
        trace("populateRule");
        var temp:Array = new Array();
        temp.push(new Array());
        temp.push(new Array());
        for( var i:int = 0; i<5; i++){
            temp[0].push(Number(startPoint + (increment * i)));
            temp[1].push(rule(startPoint + (increment * i)));
            trace(ruleWindow.ruleTable[("in" + Number(i + 1).toString())].text);
            trace(ruleWindow.ruleTable[("out" + Number(i + 1).toString())].text);
            ruleWindow.ruleTable[("in" + Number(i + 1).toString())].text = temp[0][i].toString();
            ruleWindow.ruleTable[("out" + Number(i + 1).toString())].text = temp[1][i].toString();

        }
        return temp;
    }

0 个答案:

没有答案