sshong发表于2008年7月11日 22:56:00 更新于2008年7月11日 22:56:00
所谓数据驱动,也就是后台有一个model,前台有一个view,由model驱动view进行显示。
在实践过程中,我一般的思路是在某view类中保存一个对驱动model的引用,有一个fresh方法就是根据这个引用的内容进行刷新显示。只要model有改变的地方,手工调用下fresh方法就可以做到驱动view。本想这样model内容一改变,view里的内容也会跟着改变,这样无需dispatch事件,就可以做到驱动。

结果今天终于发现了一个大大的错误了!如下图所示

一旦model的更改不是直接更改...
标签:as数据驱动modelview分类:As3&Flex阅读:3417评论:2阅读全文
sshong发表于2008年7月10日 21:50:00 更新于2008年9月3日 10:06:00
1. for...in和for each...in使用注意
今天碰到一个奇怪的问题,在for each in一个Array,总是会出错!经过仔细研究发现,原来我给这个数组添加了动态属性(几个字符串),而数组中存放的元素为object,我原本想在循环里面引用object元素的一些属性,而其实在for in数组的时候,它把这些动态字符串属性也循环到了,自然这些字符串动态属性是引用不到object的这些属性的,于是出错!
for in,以及for each...in会循环array所有的动态属性,以及array中存放的元素,一定要注意,不只是循环数组中存放的元素!

2. setter...
标签:无分类:As3&Flex阅读:3201评论:0阅读全文
sshong发表于2008年7月7日 11:19:00 更新于2008年7月24日 11:23:00
在任何一门编程语言中,变量作用域和生命周期都是两个十分重要的话题

在c++中,变量作用域与生命周期相关的重要概念有堆、栈、静态数据区等,而在java以及as3中,由于是由虚拟机来完成内存的分配以及释放,因此对于c++编程人员来说,一方面可能以为以前调试时一大堆memory leak的问题不会存在,一方面可能又害怕java以及as3的gc(garbage collector)有没有c中手工的delete管用。

的确,gc并不是万能,我很头疼,从前几篇文章中可以看出gc的不足之处,因为出现bug后,c++编程人员知道肯定是new了没有delete,慢慢查或者借助相关工具如boun...
标签:as3c++作用域生命周期分类:As3&Flex阅读:6601评论:2阅读全文
sshong发表于2008年7月6日 12:12:00 更新于2008年7月7日 19:52:00
预备:
as3中的资源管理与GC
as3中的Class对象和Function对象

很多as3开发人员在博客中都有相关gc以及资源管理的文章,不管作者又没有深入的去研究或者仔细的考虑抑或是直接从别人处摘抄,我想有些问题还是要澄清的透彻好!

注:本文通篇以
objA.addEventListener(objB.func)
为研讨对象

问题一、为什么要removelistener
很多人都知道在addlistener之后,...
标签:asremovelistener原因分类:As3&Flex阅读:4521评论:1阅读全文
sshong发表于2008年7月6日 11:21:00 更新于2008年7月6日 11:21:00
as3是完全的面向对象,Class和Function类都是Object的子类,而且都是dynamic动态类!而且一旦我们定义了一个类,定义了一个函数,那么我们就生成了一个Class实例和一个Function实例!

有两种方式来得到Class实例和Function实例
一种直接定义一个class或者一个function,这样类名、函数名自动成为Class实例和Function实例
还有一种如同定义实例一样,将一个Class引用(一个类名)或者Function(一个函数名)赋给变量(增加了引用计数)

一、Class

首先我们不能混淆Class实例和某class实例
通...
标签:asClass对象Function对象分类:As3&Flex阅读:4728评论:0阅读全文
sshong发表于2008年7月6日 11:01:00 更新于2008年7月6日 11:04:00
1、as3中不管是普通的object,还是displayobejct都一视同仁

2、fp9中的gc采用了两种方式进行内存清理
  a、reference count引用计数,顾名思义,根据对象被引用的次数,如果为0,gc清除之
  b、mark sweeping标记扫荡,从root开始往下扫荡,标记所有和root有关联的object,清除没有关联的,方法虽然精确,但是很耗资源,所以fp9只是偶尔来一次扫荡


3、你永远无法知道gc什么时候会调用,你能做的只是等待,等待gc在某一时刻运行...
标签:as资源管理GC分类:As3&Flex阅读:4429评论:2阅读全文
sshong发表于2008年7月2日 14:59:00 更新于2008年7月2日 22:51:00
as3中提供了bytearray类,以字节作为数组的基本元素。
as3中的string类采用的是unicode的UTF-16编码。
as3默认传递数据到服务器以及接受服务器数据都采用utf-8编码。

1.传递数据到服务器
如果服务器request接受的是gbk编码,则需要将string转换为gbk传递到服务器。有两种解决方法:

A、如果如果本身就是中文操作系统,可以usecodepage=true,这时候中文参数将转换为gbk编码传递
B、借助bytearray进行转码。我们可以采用bytearray的writemutibytes方法,将unicode的string按...
标签:字符转码bytearray分类:As3&Flex阅读:7964评论:0阅读全文
sshong发表于2008年6月26日 11:34:00 更新于2008年6月26日 11:35:00
  最近忙于搬家毕业等杂事,一直没有发表日志,鉴于这几天开始学习linux,下载了个ubuntu8.04安装在vmware的虚拟机中,使用过程中的一些事项和资料记录如下:

  首先是Linux与GNU的关系:Linux只是一个内核,于1991年由linus开发出,而其实GNU计划早在1984年就已提出,旨在开发出一套完整的类UNIX的完全免费的操作系统,迄今已经开发出了很多和Unix接口的部件如GCC、BASH等。而GNU的内核编写一直没有启动,至今也没有完成。于是一些厂商将GNU计划下的一些部件捆绑Linux内核以及其他软件包发布成一个安装的套件,这也就是redhat、ubunt...
标签:linuxubuntuGNU安装分类:Webserver阅读:4110评论:0阅读全文
sshong发表于2008年6月13日 17:27:00 更新于2008年6月13日 17:27:00
一、php的操作符
php中有很多别的语言没有的操作符

1、.:拼接操作符,主要用于拼接字符串。不是一般语言的+。譬如 $a = "i"." love you"; a为"i love you"

2、.=:拼接赋值操作符,譬如$a = 7; $a .= 8;这时a的值变成了78。同样,对于字符串,如$a = "i"; $a .= " love you";这时a的值为“i love you”!

3、@:错误控制操作符,将其放置在一个 PHP 表达式之前,该表达式可能产生的任何错误信息都被忽略掉。

4、!==和===:非全等和严格全等,因为php的松散特性,“1”=...
标签:php语法分类:PHP阅读:3568评论:0阅读全文
sshong发表于2008年6月12日 17:43:00 更新于2008年6月12日 17:43:00
1.as3中显示对象根据继承关系不同,可以接受的鼠标事件也不一样。

继承自DisplayObject的相关类如shape、bitmap只支持add、remove等事件,不支持鼠标事件,而继承自InteractiveObject,顾名思义支持鼠标键盘等事件。

因此对于某些遮盖现象,譬如按钮simplebutton上有一个textfield文本框,如果要让tf不遮盖这个button的鼠标移入移出,一种方法是将textfield的mouseenabled设为false,另一种是想办法把这个tf转换为其他的不支持鼠标事件的对象,譬如bitmap。

如果要模拟模态对话框,将sta...
标签:as3鼠标交互分类:As3&Flex阅读:3323评论:0阅读全文
共208篇日志 第14/21页 下一页 上一页 尾页 首页
联系我
博客订阅