摘要:
看了《AS3.0游戏编程大学》用里面的素材模仿做了第一个flash游戏。。。game 游戏影片剪辑代码,按照AS3.0 JIT编译的说明,把游戏代码放在构造函数里面貌似不是好的做法,效率低,因为JIT编译对构造函数里面的代码不进行动态编译。MyGame.as 1 package 2 { 3 import flash.display.MovieClip; 4 import flash.events.MouseEvent; 5 import flash.utils.Timer; 6 import flash.events.TimerEvent; 7 ... 阅读全文
摘要:
一、内存泄漏 指由于疏忽或错误造成程序未能释放已经不再使用的内存的情况。应用程序分配某段内存后,由于设计错误,失去了对该段内存的控制,因而造成了内存的浪费(百度搜的资料)。这段话是什么意思呢?打个比方吧,放牛人与一只牛,放牛人好比程序设计中的引用,牛好比对象。我们通过引用来控制对象,放牛人通过绳子牵着牛,当牛吃完草后应该牵它回家而不是放手让它走失。当我们失去对该对象(某块内存)的控制时就产生了“内存泄露”。 二、垃圾回收 简单点说不用的内存都是垃圾,而垃圾回收就是把没用的内存都回收以释放内存空间。 AS3的垃圾回收主要有两种方法:“引用计数法”和“标识清除法”。 引用计数法:当一个内存对象添加 阅读全文
摘要:
1、as3中不管是普通的object,还是displayobejct都一视同仁2、fp9中的gc采用了两种方式进行内存清理 a、reference count引用计数,顾名思义,根据对象被引用的次数,如果为0,gc清除之 b、mark sweeping标记扫荡,从root开始往下扫荡,标记所有和root有关联的object,清除没有关联的,方法虽然精确,但是很耗资源,所以fp9只是偶尔来一次扫荡3、你永远无法知道gc什么时候会调用,你能做的只是等待,等待gc在某一时刻运行起来。4、as3中delete只能用来删除动态属性,不能删除变量,可以将变量置为null来达到删除对象的目的。5、将对象置为 阅读全文
摘要:
Flash客户运行时环境 ActionScript程序可以在三种不同的软件应用程序(都是Adobe出品)上执行:Flash播放器、Adobe AIR和Flash Lite。Flash播放器在网页浏览器中或在桌面单机模式下执行ActionScript程序。Flash播放器几乎没有操作系统访问权(例如:它不能管理文件、控制窗口或访问大部分硬件)。 Adobe AIR在桌面上执行ActionScript程序并且和桌面操作系统完全集成(例如:它可以管理文件,控制窗口并访问硬件)。Flash Lite在移动设备,如手机上执行ActionScript程序。本书出版时,Flash Lite可以... 阅读全文
摘要:
什么是本地ShareObject?通过flash 6 player,开发人员已就可以在客户端存储数据了,就像cookies一样。ShareObject有两种格式:本地和远程。这篇文章只讨论本地ShareObject.远程ShareObject一般和flash communication server一起使用。一个本地ShareObject只需要flash 6 player,仅此而已。很多情况下,ShareObject提供了除cookies外的另一种选择,这是许多开发者没有考虑过的。存储简单数据在ShareObject中存储简单数据是相当简单的工作,我们先用ShareObject存储一个用户自定 阅读全文
摘要:
要了解这个问题就要先对flash中的显示对象结构有一个大概的了解:第一级:舞台;第二级:当前SWF;第三级:各种容器及可视对象(如:文本框,位图……);以此类推…………stage:其中舞台(Stage)是最根本的容器,包含当前SWF的所有显示对象,每个flash程序只能有一个舞台容器。所有显示对象的stage属性指向舞台。root:在舞台下面的也是一个容器,被称作当前SWF主类的实例(注:AS3.0中所有容器直接或间接继承自DisplayObjectContainer类),在AS3.0中,每一个SWF都和一个类相关联,这个类就称为SWF的主类,如果没有设定文档类,则MainTimeline类( 阅读全文
摘要:
package{import flash.display.Loader;import flash.display.Sprite;import flash.events.Event;import flash.events.MouseEvent;import flash.net.FileReference;import flash.utils.ByteArray;/** * 事实证明,fileRefence是可以打开本地文件的 */ public class TestFileRefrence extends Sprite{private var file:FileReference;public 阅读全文
摘要:
(1) is运算符 在AS3.0新增加的is运算符,主要功能是判断一个变量或者等式是不是等于给定的数据类型,在以前的版本中,有instanceof来实现相同的功能。 但是is 运算符可以帮助我们确定数据类型,还可以判断类的继承关系,包括对于接口的继承执行。 可以看如下实例: var mySprite:Sprite = new Sprite(); trace(mySprite is Sprite); //output:true trace(mySprite is DisplayObject); //output:true trace(mySprite is IEventDispatcher); 阅读全文
摘要:
官方帮助上的一段文章,大致了解了下as3的一些机制.由于各方面水平都比较菜,所以翻译出来的,可能比一直被我鄙视的"国人翻译的东西"还要差.不过我已尽力而为了,希望看的朋友包含,如果有错误欢迎指出.如果要转载,当然受宠若惊,但请加上出处.谢谢!原文地址:http://livedocs.macromedia.com/flex/2/docs/00001847.html===================================================================这部分以简短概述ActionScript的OOP历史为开始,接着讨论ActionS 阅读全文
摘要:
首先简单介绍一下堆和栈的区别.1.内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1)、栈区(stack)—由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2)、堆区(heap)—一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。3)、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。-程序结束后系统释放。4)、文字常量区—常量字符串就是放在这里的,程序结 阅读全文