标签: actionscript

Flash TextField HTML - 如何防止错误对话丢失图像?(错误#2044:未处理的IOErrorEvent:.text =错误#2035:找不到URL)

我正在使用Flash TextField控件在Flash演示文稿中显示一些HTML内容,以便在大型触摸屏自助服务终端上显示.遗憾的是,如果显示的HTML内容中的任何图像标记指向不存在的图像,则会显示带有错误消息的对话框

Error #2044: Unhandled IOErrorEvent:. text=Error #2035: URL Not Found.
Run Code Online (Sandbox Code Playgroud)

我试图避免弹出对话.通过loader类加载内容的解决方案是捕获IOErrorEvent.IO_ERROR,但我已经尝试在TextField上监听,在舞台上,Main和loaderInfo都无济于事.我试过用try-catch包装整个东西,但这也行不通.

这是我用来寻找解决方案的简化代码:

package {
    import flash.display.Sprite;
    import flash.errors.IOError;
    import flash.events.Event;
    import flash.events.IOErrorEvent;
    import flash.text.TextField;
    import flash.text.TextFieldType;

    public class Main extends Sprite {

        public function Main():void {
            if (stage) init();
            else addEventListener(Event.ADDED_TO_STAGE, init);
        }

        private function init(e:Event = null):void {
            removeEventListener(Event.ADDED_TO_STAGE, init);

            var html:TextField = new TextField();
            html.type = TextFieldType.DYNAMIC;
            html.multiline = true;
            html.htmlText = "Bogus image: <img src=\"foo.jpg\" />";         

            addChild(html);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

编辑:这是整个工作代码.

当然,对于动态内容等,您需要一个图像列表和一个生成处理程序的函数等. …

apache-flex flash actionscript flex3 actionscript-3

1
推荐指数
1
解决办法
4361
查看次数

Flash中的哪些文字被Google编入索引?

以下是否意味着动态TextFields不会被编入索引?

我们目前不附加 Flash文件加载的外部资源中的内容.如果您的Flash文件加载了HTML文件, XML文件,另一个SWF文件等,Google将单独索引该资源,但它不会被视为Flash文件中内容的一部分.

以下是否意味着仅将静态TextFields编入索引?

此时,不会对从资源文件动态加载的内容编制索引.我们已经注意到来自多个网站管理员的此功能请求,请在不久的将来更新中查找.

来自改进的Flash索引,Google博客

flash seo actionscript

1
推荐指数
1
解决办法
1657
查看次数

为什么从getDefinitionByName()返回对象?

在Actionscript 3中,为什么getDefinitionByName()在文档说:

返回对name参数指定的类的类对象的引用.

基于此,我得出结论,返回的对象应该是Class而不是Object.有人可以告诉我为什么不是这样吗?

apache-flex actionscript flex3 actionscript-3

1
推荐指数
2
解决办法
1074
查看次数

使用JavaScript调用Flash ExternalInterface

我正在尝试使用JavaScript调用在Flash swf中使用ExternalInterface声明的函数.它工作了一次,但突然间,它停止了工作.

我有一个Flash Player的调试版本,但Flash中没有出现错误.甚至不是"安全沙箱错误"或其他东西.我得到的唯一错误是JavaScript中的以下错误Error: Error in Actionscript. Use a try/catch block to find error.

我正在使用AS3,在Mac上为Flash Player 10导出并在Firefox 3/Safari 4上进行测试.

任何帮助将不胜感激.

javascript flash actionscript actionscript-3

1
推荐指数
1
解决办法
3949
查看次数

Adobe套接字策略文件服务器问题

有没有人能够成功实现服务以向FlashPlayer提供所需的套接字策略文件?

我正在运行Adobe提供的服务的Python实现

http://www.adobe.com/devnet/flashplayer/articles/socket_policy_files.html
Run Code Online (Sandbox Code Playgroud)

并使用以下策略文件:

<?xml version="1.0" encoding="UTF-8"?>
<cross-domain-policy>
 <site-control permitted-cross-domain-policies="master-only"/>
 <allow-access-from domain="*" to-ports="*" secure="false"/>
</cross-domain-policy>
Run Code Online (Sandbox Code Playgroud)

并从Flash接收此消息:

[SecurityErrorEvent type="securityError" bubbles=false 
cancelable=false eventPhase=2
text="Error #2048: 
Security sandbox violation: http://www.mapopolis.com/family/Tree.swf   
cannot load data from www.mapopolis.com:1900."]
Run Code Online (Sandbox Code Playgroud)

谢谢.

sockets security flash policy actionscript

1
推荐指数
1
解决办法
6706
查看次数

AS3代码反馈

我刚刚开始在AS3编码,从专家那里得到一些反馈真的很棒; 在我的编码风格,我做错的事情,我可以改进的事情,最佳实践等等......如果你有一些额外的提示或技巧,那将是很好的.

这是我的第一个AS3代码,花了我5个小时,puh:

package {

    import flash.display.Sprite;
    import flash.net.URLLoader;
    import flash.net.URLRequest;
    import flash.events.*;
    import flash.errors.*;
    import flash.display.MovieClip;
    import gs.*;
    import flash.display.Loader;
    import net.stevensacks.preloaders.CircleSlicePreloader;

    public class FlatSelector extends MovieClip {

        var preloader:CircleSlicePreloader = new CircleSlicePreloader();
        var imageLoader:Loader = new Loader();
        var globalXML:XML;

        public function FlatSelector() {
            stage.addEventListener(Event.ENTER_FRAME, init);
            building.alpha = 0;
        }

        public function init(event:Event):void {
            stage.removeEventListener(Event.ENTER_FRAME, init);
            var loader:URLLoader = new URLLoader(); 
            loader.addEventListener(Event.COMPLETE, handleXML);
            loader.load(new URLRequest('http://localhost/boligvelger/flats.xml'));
            TweenLite.to(building, 2, {alpha:1});
            TweenLite.to(building.flat, 2, {alpha:0.5, tint:0x00FF23});
            //var myTween:TweenLite = TweenLite.to(mc, 1, {x:200});
            //var …
Run Code Online (Sandbox Code Playgroud)

flash actionscript feedback actionscript-3

1
推荐指数
1
解决办法
1087
查看次数

如何用纯色填充actionscript 3多边形?

我正在为项目构建地图编辑器,需要绘制六边形并用纯色填充它.我的形状是正确的但是对于我的生活无法弄清楚如何填充它.我怀疑这可能是因为这个东西是Shape,Sprite还是UIComponent.这是我对多边形本身的看法:

import com.Polygon;
import mx.core.UIComponent;

public class greenFillOne extends UIComponent {
    public var hexWidth:Number = 64;
    public var hexLength:Number = 73;

    public function greenFillOne() {
        var hexPoly:Polygon = new Polygon;
        hexPoly.drawPolygon(40,6,27+(hexWidth*.25),37,0x499b0e,1,30);
        addChild(hexPoly);
    }
}
Run Code Online (Sandbox Code Playgroud)

actionscript polygon shape uicomponents fill

1
推荐指数
1
解决办法
8612
查看次数

ActionScript 3与"is"保留关键字相对

只是为了消除我的好奇心,isActionScript 3中保留关键字的反面是什么,如下例所示:

if (myObject is ArrayCollection) {
  //Do stuff...
} else {
  //Do something else...
}
Run Code Online (Sandbox Code Playgroud)

所以我可以这样做:

if (myObject isnotoperator ArrayCollection) {
  //Do something else...
} else {
  //Do stuff...
}
Run Code Online (Sandbox Code Playgroud)

感谢您的时间.

flash actionscript casting reserved-words actionscript-3

1
推荐指数
1
解决办法
168
查看次数

Action Script 3.0中的异步

我想知道,AS3中如何实现异步?让我们Timer上课.计时器以异步方式运行并调度某些事件.似乎它为自己创造了一个新的线程.当计时器事件发生时调用的函数如何是线程安全的?如何在AS3中实现线程安全?

multithreading actionscript asynchronous thread-safety actionscript-3

1
推荐指数
1
解决办法
2788
查看次数

addChild在舞台上不显示任何内容

因此,当空格键被按下时,我正试图制造太空飞船的激光器.我之前在一个纯粹的flex项目中做过这个,但最近得到了创意云,我正在尝试使用flash专业/ flash构建器重新创建相同的效果.

不幸的是,当我创建一个新的"激光"类实例并尝试用addChild()将它放在舞台上时似乎没有任何事情发生.

这是主文件/文档类

    public class PlayerShip extends Sprite
    {

        private var laserTimer:Timer;
        private var shipTime:Timer;
        private var upKey:Boolean;
        private var downKey:Boolean;
        private var leftKey:Boolean;
        private var rightKey:Boolean;
        private var spacebar:Boolean;
        private var utils:Utils = new Utils();

        //tuning variables
        private var MOVE_SPEED:int = 5;
        private var REVERSE_SPEED:int = 3;
        private var TURN_SPEED:int = 5;

        private var laserEmitter:shipLasers = new shipLasers(stage);

        public function PlayerShip():void
        {
            super();

            addEventListener(Event.ENTER_FRAME, fly);
            stage.addEventListener(KeyboardEvent.KEY_DOWN, movementKeysDown);
            stage.addEventListener(KeyboardEvent.KEY_UP, movementKeysUp);

            laserTimer = new Timer(1000/1000);
            laserTimer.addEventListener(TimerEvent.TIMER, fireLasers);
            laserTimer.start();
            addChild(laserEmitter);
        } …
Run Code Online (Sandbox Code Playgroud)

flash actionscript actionscript-3

1
推荐指数
1
解决办法
114
查看次数