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
嗨,我在as3中得到了这个1180错误。我可以解决这个问题吗?我谷歌但我不能将解决方案应用到我的代码中。我真的很新as3.thanks任何帮助。
答案 0 :(得分:6)
让我直截了当地说:你在fla属性中设置了一个Document Class
,并且还在fla中直接编写代码?
如果是这种情况,解决方案很简单:要么只在外部.as文件中编写代码而不是fla,要么在Document Class
继续编写代码时不要使用Timeline
。
您获得的错误代码表明您的Timeline
上的代码与MovieClip
的行为类似,而Document Class
扩展Sprite
,因此不知道名为{{addFrameScript
的方法1}}(在将Timeline
上的代码编译成SWF文件时调用此方法。
简而言之,我建议你改变
public class SetTimeoutExample extends Sprite {
到
public class SetTimeoutExample extends MovieClip {
并将所有fla代码移至Document Class
。
答案 1 :(得分:2)
你有时间轴代码吗? AddFrameScript()是被调用以允许时间轴代码执行的方法。我自己也看到了这个错误。
请确保您的任何资产中的时间轴上没有任何代码,这些代码应该消失。
答案 2 :(得分:2)
我解决了这个问题,现在我在TimeLine上实现了一些其他功能时成功使用了外部AS类:
问题可以通过这个简单的“规则”来解决:
如果您只想从外部CLASS加载所有内容,则必须将.fla文件“链接”到.as(“文档类”):
时间轴使用addFrameScript功能
如果你想在课堂上使用某些东西,在时间轴上做其他事情的话,你必须在TimeLine上输入类似的一行:
var myClassObject:myClass = new myClass();
this.addChild(myClassObject);
答案 3 :(得分:1)
我也遇到过这个问题。问题是我的容器影片剪辑正在扩展Sprite和内部,其中一个控件被转换为具有属性的flash组件......我有一种感觉Flash试图在时间轴上设置这些属性的值。从舞台上删除组件并从库中添加组件可以在30分钟后将头发拉出来为我解决问题....
答案 4 :(得分:0)
GOT
TypeError:错误#1034:类型强制失败:无法将the_game @ 2a9c50b1转换为flash.display.MovieClip。 在Game :: Player / update() 在the_game_itself / update()
有点慢......
答案 5 :(得分:0)
如果在将代码添加到动画片段(不在时间轴上)时问题(标题)中出现错误,请尝试以下操作:
可能是库项目(movieclip)已经将它的actionscript属性设置为从Sprite继承(baseclass)...某种编码错误...检查movieclips actionscript属性(在库中) ,右键单击(在动画片段上)/属性)。