Flash 1180错误:调用as3中可能未定义的方法addFrameScript

Flash 1180错误:调用as3中可能未定义的方法addFrameScript,flash,actionscript-3,Flash,Actionscript 3,您好,我在as3中遇到这个1180错误。我如何解决这个问题?我用谷歌搜索它,但我无法将解决方案应用到我的代码中。我对as3非常陌生。谢谢您的帮助。您有时间线代码吗?AddFrameScript()是被调用以允许执行时间线代码的方法。我自己也看到过这个错误 只要确保您的任何资产中没有任何时间轴上的代码,这些代码就会消失。我也遇到了这个问题。问题是,我的容器电影剪辑扩展了Sprite,其中一个控件被转换为具有属性的flash组件。。。我有一种感觉,Flash试图在时间轴上设置这些属性的值。从后台删除

您好,我在as3中遇到这个1180错误。我如何解决这个问题?我用谷歌搜索它,但我无法将解决方案应用到我的代码中。我对as3非常陌生。谢谢您的帮助。

您有时间线代码吗?AddFrameScript()是被调用以允许执行时间线代码的方法。我自己也看到过这个错误


只要确保您的任何资产中没有任何时间轴上的代码,这些代码就会消失。

我也遇到了这个问题。问题是,我的容器电影剪辑扩展了Sprite,其中一个控件被转换为具有属性的flash组件。。。我有一种感觉,Flash试图在时间轴上设置这些属性的值。从后台删除组件并将其从库中添加修复了30分钟后的问题….

我解决了问题,现在我成功地使用了外部AS类,同时在时间轴上实现了一些其他功能:

只需遵循以下简单的“规则”即可解决问题:

  • 如果只想从外部类加载所有内容,则必须将.fla文件“链接”到.as(“文档类”):

    时间线使用addFrameScript函数

  • 如果您想使用类中的内容,同时在时间轴上执行其他操作,您只需在时间轴上放置一条类似的线:

    import flash.net.URLLoader;
    import fl.video.*;
    import flash.utils.getTimer;
    import flash.events.Event;
    
    
    fk.autoPlay = false;
    
    
    var myLoaderInfo=new Object();
    
    
    myLoaderInfo.myParamsLoaded = false;
    
    
    myLoaderInfo.loaderComplete = loaderComplete;
    
    
    
    this.loaderInfo.addEventListener(Event.COMPLETE, myLoaderInfo.loaderComplete);
    
    
    
    myLoaderInfo.useParams = useParams;
    
    var myParams:Object = new Object();
    var myParamsLoaded:Object = new Object();
    
    function loaderComplete(myEvent:Event)
    {
    this.myParams = this.loaderInfo.parameters;
    this.myParamsLoaded = true;//Parametrelerin yuklendigine emin olduk.
    
    this.useParams();
    
        fk.play(src);
    }
    
    var src:String;
    var startTime:Number;
    var stopTime:Number;
    
    function useParams()
    {
        var obj:Object = new Object();
    
    var j;
    for (j in this.myParams)
    {
        if (j == "url")
        {
            src = this.myParams[j];
        }
        else if (j=="bas")
        {
            startTime = int(this.myParams[j]);
        }
        else
        {
            stopTime = int(this.myParams[j]);
        }
    }
    }
    
    fk.addEventListener(VideoEvent.READY, bitti);
    function bitti(eventObject:VideoEvent):void
    {
        fk.seekSeconds(startTime);
    
    
    }  //this is my player.fla 
    

让我澄清一下:您已经在fla属性中设置了一个
文档类
,并且也直接在fla中编写代码

如果是这种情况,解决方案很简单:如果希望继续在
时间轴上编写代码,可以只在外部.as文件而不是fla中编写代码,也可以不使用
文档类
。 您得到的错误代码表明,您的
时间轴上有代码,其行为类似于
MovieClip
,而
文档类扩展了
Sprite
,因此不知道名为
addFrameScript
的方法(将
时间轴上的代码编译为SWF文件时调用此方法)

简言之,我建议你改变

public类SetTimeoutExample扩展了Sprite{

public类SetTimeoutExample扩展了MovieClip{

并将所有fla代码移动到
文档类

TypeError:错误#1034:类型强制失败:无法转换_game@2a9c50b1要闪烁.display.MovieClip。 在游戏中::玩家/更新() 在游戏本身/update()中


如果在将代码添加到movieclip(不在时间轴上)时出现问题(标题)中的错误,请尝试以下操作:


可能是库项(movieclip)的actionscript属性设置为从Sprite(基类)继承…某种编码错误…检查movieclips actionscript属性(在库中,右键单击(在movieclip上)/属性).

一些论坛说是extend MovieClip,但当我尝试这一点时,又出现了一些错误。我同意alex的观点,在上面的代码中,extends sprite是错误的,应该是extends MovieClip。
import flash.net.URLLoader;
import fl.video.*;
import flash.utils.getTimer;
import flash.events.Event;


fk.autoPlay = false;


var myLoaderInfo=new Object();


myLoaderInfo.myParamsLoaded = false;


myLoaderInfo.loaderComplete = loaderComplete;



this.loaderInfo.addEventListener(Event.COMPLETE, myLoaderInfo.loaderComplete);



myLoaderInfo.useParams = useParams;

var myParams:Object = new Object();
var myParamsLoaded:Object = new Object();

function loaderComplete(myEvent:Event)
{
this.myParams = this.loaderInfo.parameters;
this.myParamsLoaded = true;//Parametrelerin yuklendigine emin olduk.

this.useParams();

    fk.play(src);
}

var src:String;
var startTime:Number;
var stopTime:Number;

function useParams()
{
    var obj:Object = new Object();

var j;
for (j in this.myParams)
{
    if (j == "url")
    {
        src = this.myParams[j];
    }
    else if (j=="bas")
    {
        startTime = int(this.myParams[j]);
    }
    else
    {
        stopTime = int(this.myParams[j]);
    }
}
}

fk.addEventListener(VideoEvent.READY, bitti);
function bitti(eventObject:VideoEvent):void
{
    fk.seekSeconds(startTime);


}  //this is my player.fla 
var myClassObject:myClass = new myClass();
this.addChild(myClassObject);