跨SWF安全沙箱引起的类型转换问题

问题描述:
今天做Denizen Hello,用的是Gaia框架,LoadingPage调用IndexPage中的MapPainter类型的对象出现如下错误:
TypeError: Error #1034: 强制转换类型失败:无法将 com.couldhll.bitmaptext::MapPainter@24f793a1 转换为 com.couldhll.bitmaptext.MapPainter。

问题分析:
检查LoadingPage和IndexPage中的类型,确认都是com.couldhll.bitmaptext.MapPainter类型。
但是IndexPage中是MapPainter@24f793a1类型,而LoadingPage中是MapPainter类型。
开始怀疑IndexPage中有问题,但是无果。偶尔在Main.as中使用MapPainter类型的对象后,一切正常。

问题解决:
其实我们都知道Loader.load()后面一个参数是安全命名空间参数,要设置成:SecurityDomain.currentDomain。
在Gaia中,可以在site.xml中为page设定domain="current"。
本例如下:
<?xml version="1.0" encoding="UTF-8"?>
<site title="Hello" menu="true">
    <page id="index" src="index.swf" domain="current" >
        <page id="nav" src="nav.swf" depth="top" domain="current" >
            <page id="loading" title="Loading" src="loading.swf" menu="true" domain="current" />
   <page id="home" title="Home" src="home.swf" menu="true" domain="current" />
        </page>
    </page>
</site>

Gaia swfaddress问题

问题描述:今天Cailven用Gaia搭建NewBalance Sonic 574 mini site框架。本地测试时,地址栏并不随菜单跳转而改动。在设置本地安全路径后,地址栏首页能够跳转,但是次页面不行。

问题分析:地址栏有问题说明是swfaddress的问题。仔细看了site.xml,发现首页的title属性是英文,其他次页面都是中文。

问题解决:把其title都改为英文。一切正常了。

Gaia插件消失问题

在Adobe Extension Manager CS4 安装插件後在Flash中却无法找到插件的Bug如果你遇到了如标题中所述的问题,那么估计你是安装了中文版的Extension Manager,却又使用的英文版的其他CS4组件. 🙂

以下是解决办法:

   1. 在Extension Manager CS4的快捷方式上点右键,选择属性.
   2. 到快捷方式选项卡,修改目标栏里的路径,加上 -locale lang=”en_US”.也就是说,修改后的路径是这样的:

    “D:\Program Files\Adobe\Adobe Extension Manager CS4\Adobe Extension Manager CS4.exe” -locale lang=”en_US”

请注意-locale之前有一个半角空格.

然后点击这个快捷方式,打开Extension Manager, 重新启用你安装的插件,然后就ok了.

(感谢Cailven提供)

以下是mac版本的解决方法:

mac运行 Adobe Extension Manager CS4产生的中文版无法切换倒英文版本的解决方法如下:

经过一个下午的常识,终于找到了解决方法:
打开实用工具-终端,然后输入
"/Applications/Adobe Extension Manager CS4/Adobe Extension Manager CS4.app/Contents/MacOS/Adobe Extension Manager CS4" -locale lang="en_US"
这样就可以安装各类flash插件到英文版flash中了

Tuio某些环境下localhost引发不能接连的问题

问题描述:
这次,AMG7辆车的发布会在松江天马山的赛车场。今天做部署,AMG多触点软件Tuio不能接连问题。
在公司的测试环境(Windows2008,Flash10)一切正常。而现场环境(Windows7,Flash10)Tuio显示连接不到。

问题分析:
 首先想到的是环境问题,把当场环境中的flash版本用360升级到最新,还是不行。

问题解决:
在一切没有办法的时候,咨询了下PQ的孙健,在尝试很多方法后,终于,把Tuio的连接地址从localhost改成127.0.0.1,一切安逸了。。。