分类: AS/Flex/AIR

AIR日志记录方法

public static function log(txt:String):void
{
    var date:Date = new Date();
    var fileName:String;

    fileName = "errlog-" + date.getFullYear().toString() + (date.getMonth()+1).toString() + date.getDate() + ".txt";

    var file:File = File.applicationStorageDirectory.resolvePath(fileName);
    var fs:FileStream = new FileStream();

    txt = "\n\n--------" + date.toString() + "----------\n" + txt

    fs.open(file,FileMode.APPEND);
    fs.writeUTFBytes(txt);
    fs.close();
}

废话不多说,直接看代码,将需要记录的日志,比如出错信息记录到程序数据文件夹,以日期命名,便于追踪信息。

使用SWFObject插入Flash在IE下导致stageWidth为0的解决方法

SWFObject

SWFObject是一个用于在HTML中方面插入Adobe Flash媒体资源(*.swf文件)的独立、敏捷的JavaScript模块。该模块中的JavaScript脚本能够自动检测PC、Mac机器上各种主流浏览器对Flash插件的支持情况。它使得插入Flash媒体资源尽量简捷、安全。而且它是非常符合搜索引擎优化的原则的。此外,它能够避免您的 HTML、XHTML中出现object、embed等非标准标签,从而符合更加标准。

SWFObject在IE下的BUG

如果Flash里绘制的对象的宽高是自适应Flash的宽高的,那么,使用SWFObject来插入Flash在IE会导致一个问题,当这个Flash被缓存后,也就是第二次访问该页面时,在该Swf文件被加载时,获取到的stage.stageWidth和stage.stageHeight为0,绘制的对象也就看不到了。

阅读全文 »

读书笔记:ActionScript3设计模式中的单件模式

单件模式用于限制类的实例化次数,使你在系统的任何位置都能访问到同一个实例;达到节省资源,管理方便的效果。

单件模式的应用

从一个XML文件加载程序的基本配置信息,只需要在Flash初始化的时候或者Air程序启动的时候执行一次即可,并且,在程序的整个运行阶段都只需要一个实例,并不需要建多个实例或者读取多次XML。
例如:用一个xml文件保存AIR应用程序配置信息,里面包含窗口起始位置,窗口的宽高。

<setting>
	<window x="100" y="100" width="300" height="400">
</setting>

单件模式的实现

package cn.foxling.test
{
	public class Setting
	{
		private static var _instance:Setting;

		public function Setting(enforcer:SingletionEnforcer)
		{
		}

		public static function getInstance():Setting
		{
			if (Setting._instance == null) Setting._instance = new Setting(new SingletionEnforcer());
			return Setting._instance;
		}

	}
}

class SingletionEnforcer {}

阅读全文 »

魔嘀新版本(更新1.1版本)

魔嘀Logo
经过一段时间的辛苦奋战,魔嘀终于发布1.0了,所有的代码全部重写,增加了一些常用的功能,并请@ZK设计了全新的UI,现在的魔嘀帅多了。
魔嘀下载页面:http://app.foxling.cn/modi/
但现在还有许多细节都需要优化,时间有限,只能一步一步地更新了~
如果发现了什么BUG,或有什么好的建议,在这里留言吧,不一定一一回复,但我都会整理记录起来的,并且在后面的版本里陆续实现,欢迎在嘀咕网跟随我,一起交流。
AIR应用的通病,内存消耗较大,所以,建议平时不用时最小化吧,最小化后内存占用会比较少,8M-12M左右,我也在不断地优化代码,寻找BUG,使魔嘀的内存占用量能维持在一个比较稳定的水平。

魔嘀新界面

版本更新

  • 1.0 (2009-04-10)