Friday, 21st November 2008.

Posted on Thursday, 7th August 2008 by chris

  每次遇到要在Flash中显示HTML内容,都是噩梦,Flash里的TextField是可以显示HTML内容的,但是,功能确实很差劲,尤其是再遇上对排版要求比较高的时候,TextField是根本做不了的了。有一个开源项目htmlwrapper倒是可以利用一下,htmlwrapper可以让当前的HTML的页面以Flash的形式显示。http://motionandcolor.com/wrapper/这个是它的一个示例,它将一个WordPress的页面用Flash的方式显示出来,你要是查看它的源代码就会发现,所有的内容其实都是写在页面里,而不是Flash里的。但是,我个人觉得把一个本来在浏览器里正常显示的HTML页面放到Flash里显示没什么好处。
  不过嘛,如果用这个项目来把我们要显示的某个HTML加载到我们的Flash里,倒是也不错。只是CSS样式只有部分支持,而且这个项目还有不少的Bug。但是在没有其他解决方法的情况下也只能用这个,总比使用TextField强。

Tags: ,
Posted in ActionScript, Flash | Comments (0)

Posted on Tuesday, 5th August 2008 by chris

  Flash里调试工具是可以实现远程调试的,这个有时也很有用,比如在某些时候,在Flash调用了外部的文件(XML等等),当你在本地DEBUG时,可能就会出现安全沙箱冲突的问题,这个时候,远程调试就派上用场了。
要使用远程调试,首先就是要下一个Debug版的Flash浏览器插件。具体下载网址是:http://www.adobe.com/support/flashplayer/downloads.html
。下载安装好后,下面就是要把你的要调试的Flash发一个Debug版本(SHIFT+CTRL+ENTER),接着使得Flash能够通过http://localhost/XX/XX.swf这样的路径访问,也就是配IIS或者Apache了,然后点击Flash编辑器里的调试->开始远程调试会话->ActionScript 3,最后通过在浏览器里输入http://localhost/XX/XX.swf这样的网址访问你的SWF,这时你发现Flash编辑器里的调试工具就会有响应了。

Tags: ,
Posted in ActionScript, Flash | Comments (0)

Posted on Tuesday, 5th August 2008 by chris

  AS3与AS2使用了不同的ActionScript 虚拟机(ActionScript Virtual Machine (AVM)),两者相互通信还是比较困难的,要是你在一个现有的Flash 9版本的一个SWF里加载一个Flash 8版本的SWF是可以的,但是,你直接调用里面的方法是不被允许的,要是你trace一下加载进来的内容,你会发现它的类型是AVM1Movie,这个类型的文档里有详细解释:
  AVM1Movie 是表示使用 ActionScript 1.0 或 2.0 的 AVM1 影片剪辑的简单类。 (AVM1 是用于运行 ActionScript 1.0 和 2.0 的 ActionScript 虚拟机。AVM2 是用于运行 ActionScript 3.0 的 ActionScript 虚拟机。) 当 Loader 对象加载 Flash Player 8 或更低版本的 SWF 文件时,会创建 AVM1Movie 对象。 AVM1Movie 对象可以使用继承自 DisplayObject 类的方法和属性(如 x、y、width 等)。 但是,不允许 AVM1Movie 对象和 AVM2 [...]

Tags: ,
Posted in ActionScript, Flash | Comments (0)

Posted on Saturday, 2nd August 2008 by chris

两篇关于AS3 Loader内存泄漏的文章:
http://www.dreaminginflash.com/2007/10/22/memory-leak-in-as3-loader-class/
http://www.gskinner.com/blog/archives/2006/08/as3_resource_ma_2.html

Tags: ,
Posted in ActionScript, Flash | Comments (0)

Posted on Thursday, 31st July 2008 by chris

  很怪异的一个现象,还是我当年做的第一个Flash的游戏(就帖子下面这个Flash),发现他竟然在Mac上运行不好,没有报错,也没死掉,只是小动物怎么也跳不上去,但是在PC上运行都是正常的。搞得我很郁闷,怎么同一个程序在只是不同操作系统的同一个版本的Flash Player上还会出这种诡异的事。
  今天早上拿来一个MacBook,开始调试,倒看看问题出在哪了,到处都加的“trace”,到最后发现是一个“if”语句那边出了问题,在看这个判断,里面的条件是一个比较大小的表达式,是底图的“y”坐标和一个“Number”型的值得比较,问题就是出在这了,PC上面认为两个值相差很小但是还是不等的,不过到了Mac上,两个值竟然完全一样,有点晕,程序是好久前的了,也没再细细看到底哪个算的是对的了。只是把这个也不知道是我程序的Bug(或许是Adobe Flash Player的Bug)改了过来。嘿嘿,下次再遇到这种情况,就不会再觉得太诡异了。一句话,Flash里什么样的错误都可能出现。

Tags: , ,
Posted in ActionScript, Flash, Flash游戏 | Comments (0)