摘要:观察者Observer 观察者的设计意图和作用是:它将对象与对象之间创建一种依赖关系,当其中一个对象发生变化时,它会将这个变化通知给与其创建关系的对象中,实现自动化的通知更新。 游戏中观察者的适用环境有: 1:UI控件管理类。当我们的GUI控件都使用观察者模式后,那么用户的任何界面相关操作和改变都将会通知其关联对象——我们的UI事件机。 2:动画管理器。很多时候我们在播放一个动画桢的时候,对其Frame有很大兴趣,此时我们设置一个FrameLister对象对其进行监视,获得我们关心的事件进行处理是必须的。非程序语言描述: A是B的好朋友,对B的行为非常关心。B要出门,此时A给了B一个...
阅读全文
摘要:排序算法在程序中会用到很多,这里介绍几种常见的排序方法以及比较冒泡排序:对一个队列里的数据,挨个进行轮询和交换,每次轮询出一个当前最大或者最小的值放在队尾,然后继续下次轮询,轮询长度-1,就跟冒泡一样,所以称为冒泡排序,运算时间复杂度N平方选择排序:对一个队列里的数据,选出当前最大或者最小的值,然后将他与队首的数据交换,然后从第二个开始,进行相同的操作,运算时间复杂度N平方,但由于他不像冒泡一样需要不停的交换位置,所以会比冒泡快一些插入排序:对一个队列里的数据,从第二个开始,与此位置之前的数据进行比较,形成局部有序的队列,循环此操作,直到队尾,运算时间复杂度依然为N平方,但他由于保证了局部的有
阅读全文
摘要:Array数组操作常用的方法总结方法: 1.concat(...args):Array 将参数中指定的元素与数组中的元素链接,并创建新的数组。 2.every(callback:Function,thisObject:*=null):Boolean 对数组中的每一项执行测试函数,直到获得对指定的函数返回false的项。使用此方法可确定数组中的所有项是否满足某一条件,如具有的值小于某一特定数值。 3.filter(callback:Function,thisObject:*=null):Array 对数组中的每一项执行测试函数,并构造一个新数组,其中的所有项都对指定的函数返回t...
阅读全文
摘要:1 package antCodes 2 { 3 import flash.display.Sprite; 4 import flash.utils.getDefinitionByName; 5 6 public class SampleCloud extends Sprite 7 { 8 //笔者习惯以双下划线开头的属性表示与库中元件相关 9 private var __CloudA:Class;10 private var __CloudB:Class;11 private var __Sk...
阅读全文
摘要:1 package antCodes 2 { 3 import flash.display.Sprite; 4 import flash.utils.getDefinitionByName; 5 import flash.display.MovieClip; 6 import flash.events.Event; 7 import flash.events.MouseEvent; 8 9 /**10 * ...11 * @getDefinitionByName(name:String):Object12 ...
阅读全文
摘要:1 package antCodes 2 { 3 /** 4 * ... 5 * 去掉字符串中的重复字符 6 * 7 * @author Dong 8 */ 9 public class ToRepeat 10 {11 public var str:String = "";12 public function ToRepeat() 13 {14 15 }16 17 //去掉字符串中的重复字符18 ...
阅读全文
摘要:AS3.0懒汉模式:要用的时候就去实例化它,也就是只声明不实例化:var sp:Sprite;饿汉模式:使用之前去实例化它,声明变量的时候实例化: var sp:Sprite=new Sprite();单例模式:一个类只有一个实例,并且只实例化一次 1 package antCodes 2 { 3 /** 4 * ... 5 * AS单例模式 6 * @author Dong 7 */ 8 public class Singleton 9 {10 private static var _instance:Sin...
阅读全文