flash as3常见错误及解决办法

1.SecurityError: Error #2000: 没有活动的安全上下文。 可能是用到相关的资源没有找到

2.[Info] Could not connect to the player, will try to connect for the next 56000 ms

这个很悲剧。我还以为是flash debug的问题,按照:老外的说法:,但好像也不行,结果是因为一个加载xml的问题,FLASH游戏进不去了,但FDT又没有报错!汗

另外有可能的问题如下: http://hi.baidu.com/%D0%A1%C6%F3%B6%EC108/blog/item/de8a89013f77d362cb80c46d.html

2.5: 转SecurityError: Error #2148: SWF 文件 (SWF 文件不能访问本地资源) 的办法 http://uh.9ria.com/space.php?uid=38376&do=blog&id=8235

3.都用null来判断了,居然还无法判断 有时一个变量会出现这情况,尤其是AMF返回的数组数据的问题:其实这个时候要看看as3的定义: 其实Null、NaN和undefined都是变量的默认初始值。变量类型不同,系统给与的初始值就不同: int,uint – 0 Boolean – false Number – NaN String,Array,Object – null 未指定变量类型 – undefined

来源这里

4.replace join 参考这里

var htmlString:String = string.split("\n").join("
");

再来

var htmlString:String = string.replace(/\n/g, "
");

5.空对象 这个是比较常出现的情况,比如在用户刷新过快的时候常常会出现: a)前面刷新的对象已经清除了,但后面请求还没结束,所以出现这种 b)aMF请求过快,多次请求,导致前面的flash对回调函数还没处理完,后面的amf请求又来了,会导致前面没调用完,后面就来了...

6.按钮点击无效

var txtfield:TextField=new TextField();
txtfield.text=”MOVE1″;
var btnsprite:Sprite=new Sprite();
btnsprite.name=”MOVE2″;;
btnsprite.buttonMode=true;

btnsprite.graphics.beginFill(0x00cc00);
btnsprite.graphics.drawRect(0,0,50,30);
btnsprite.graphics.endFill();
btnsprite.addChild(txtfield);

//btnsprite.mouseChildren = false;
addChild(btnsprite);
btnsprite.addEventListener(MouseEvent.CLICK,ClkRotateBtn);
如果不加上mouseChildren会点不到??因为textfield的会跑到上面去了, 所以mouseChildren的意思就是:子对象的鼠标是否起效果??

7.从fdt(eclipse) 引入项目: 可以参考这里,有图有真相:

1)在eclipse里新建一个与要导入的工程同名工程; 2) file–>import–>Existing Project into Workspace

8.SDK安装 在fdt的安装过程中会不断出现要求有SDK安装的提示什么3.6 4.4 4.5神马的,有个简单的办法  把SDK下载下来后,解压利用他的SEARCH功能,就可以直接把SDK给加进去,不知道会有什么问题没有。。目前

9.TypeError: Error #1009: 无法访问空对象引用的属性或方法。
TypeError: Error #1009: 无法访问空对象引用的属性或方法。
at game.ui.main.chat::Chat()
at game.ui.main::Main()
at game.common::UIManager/initMain()
at game.common::UIManager/init()
at game.ui.game::Game/addedToStageHandler()
at flash.display::DisplayObjectContainer/addChild()
at game.ui.preloader::Preloader/loadGameComplete()[f:\src\game\ui\preloader\Preloader.as:225]
at game.common::Resource/onComplete()[f:\src\game\common\Resource.as:205]
at game.common::Resource/next()[f:\src\game\common\Resource.as:305]
at game.common::Resource/binCompleteHandler()[f:\src\game\common\Resource.as:510]
[/quote] 开始查还以为是chat的初始化的问题,某些代码是哪里执行不下去,其实发现是初始化的时候,有一行代码加载到空资源对象了。。。

5)Exception fault: VerifyError: Error #1053: 在 Social 中非法覆盖 Social。

1.可能为接口没实现之类
2.可能为调用函数的地方参数不对应,数量、类型啥的 ,类似参见例子:AS3 Error #1063: Argument count mismatch
3. 有时会报这个 ,原因也是这样的了

param count mismatch
virt params=3 optional=0 game.assist.view.interfaces::IEvil/game.assist.view.interfaces:IEvil::updateRole()
over params=2 optional=0 game.assist.view.interfaces::IEvil/game.assist.view.interfaces:IEvil::updateRole()
[Loading] Loaded: C:\R1\code\client\flash-game\bin\assets\zh_cn\evil.swf
Exception fault: VerifyError: Error #1053: 在 Evil 中非法覆盖 Evil。

6)Exception fault: TypeError: Error #2007: 参数 child 不能为空。 at flash.display::DisplayObjectContainer/addChild() 看这个例子,多半是addchild里面的 内容为空的原因 http://bbs.9ria.com/archiver/tid-37315.html

7).htmltext中特殊字符 在链接 YYY xxx 可以用escape来处理,还有unescape YYY可以用htmlspeicialchars那一路 ” -> "

-> > < -> <

Leave a Reply

Your email address will not be published. Required fields are marked *