2010-06-25 105 views
3
package { 
import flash.display.Sprite; 
import flash.utils.*; 

public class SetTimeoutExample extends Sprite { 
    private var delay:Number = 1000; // delay before calling myDelayedFunction 

    public function SetTimeoutExample() { 
     var intervalId:uint = setTimeout(myDelayedFunction, delay,stopTime); 
    } 

    public function myDelayedFunction():void { 
     if(arguments[0] ==fk.playheadTime) 
     {fk.pause();} 
    } 
} 
}//this is my document class named SetTimeoutExample.as 

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 

您好,我得到这个错误1180在as3.how我可以解决这个我谷歌,但我不能应用?对我的代码的解决方案。我真的很新的as3。感谢您的帮助。1180错误:调用可能未定义的方法addFrameScript在AS3

+0

和一些论坛说扩展MovieClip,但是当我尝试这个我再次得到一些错误。 – 2010-06-25 08:40:33

回答

2

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

只要确保你没有在时间轴上的任何代码在你的任何资产,这应该消失。

1

我只是有这个问题为好。问题是我的容器影片剪辑扩展了Sprite,而其中一个控件被转换为具有属性的Flash组件......我有一种感觉,Flash试图在时间轴上设置这些属性的值。从舞台中删除组件并从库中添加它解决了问题,我拉我的头发30分钟后....

+0

http://www.ericd.net/2008/11/1180-call-to-possibly-undefined-method.html我同意alex,它在上面的代码中,扩展精灵是错误的,应该扩展movieClip 。 – nycynik 2011-08-29 16:19:37

2

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

的问题是可以解决的只是下面这个简单的“规则”:

  • ,如果你只想从外部类负载的一切,你要“链接”了。 fla文件添加到.as文件(“文档类”):

    时间轴使用addFrameScript功能

  • ,如果你想使用从类的东西,一边做别的事情在时间轴上,你只要把时间轴上的类似线:

    var myClassObject:myClass = new myClass(); 
    this.addChild(myClassObject); 
    
+0

this.addChild(myClassObject)使它工作,谢谢! – c0d3Junk13 2014-08-17 00:16:33

6

让我直截了当地说明:你已经在FL属性中设置了一个Document Class,并且直接在fla中编写代码?

如果是这种情况,解决方法很简单:或者只将代码写入外部.as文件而不是fla或不使用Document Class如果您希望继续在Timeline上编写代码。 你,你有你的Timeline其行为类似于MovieClip码状态,而你Document Class延伸Sprite,因此是不知道的方法称为addFrameScript(在编译代码,在Timeline成SWF文件调用此方法的错误代码)。

总之,我劝你改变

public class SetTimeoutExample extends Sprite {

public class SetTimeoutExample extends MovieClip {

和移动你的所有FLA代码Document Class

0

类型错误:错误#1034:类型强制失败:无法the_game @ 2a9c50b1转换成的flash.display.MovieClip。 在游戏::播放器/更新() 在the_game_itself /更新()

与速度有点慢......

0

如果一个影片剪辑添加代码(当问题(标题)的错误发生在你身上不是在时间轴上),试试这个:

它可能是库项目(movieclip)有它的动作属性设置为从Sprite(baseclass)继承...某种编码错误...检查电影剪辑动作属性(在库中,右键点击(在动画片段上)/属性)。

相关问题