每页显示10个作品,共3页 << <123> >>
0

反射与简化工厂方法0 / 279

2006/12/31 9:27:00
as3新增的反射会给编程带来很多便利,下面是一个简单应用的例子示例代码//抽象产品类package{public class Product{public function test():void{}}}//具体产品类1package{public class Product2 extends Product{public override function test():void{trace("this is product2")}}}//具体产品类2package{public class Product2 extends Product{public override function test():void{trace("this is product2")}}}//工厂方法,把需实例化的构造函数通过参数传递,这样就不需要n多的子类及实例化过程,或者可以不用子类的实例化package{public class Creator{public function factory(construct:Class):Product{return new construct()}}}//测试例子package{import flash.display.Spritepublic class FactoryMethodExample extends Sprite{function FactoryMethodExample(){this.init()} private function init():void{var creator=new Creator()var pro1=creator.factory(Product1)pro1.test()//this is product1var pro2=creator.factory(Prod……
标签:
0

变量声明方式对程序速度的影响0 / 240

2007/1/1 0:25:00
声明变量时使用var关键字、声明数据类型对程序的性能影响很大,仙做了几个测试,结果如下:不声明类型或声明*类型:96int:54uint:55Number:13不使用var:579用添加实例法:192知道以后该怎么声明变量了吧,呵
标签:
0

收到《信息技术教育》编辑的贺卡0 / 245

2007/1/3 10:00:00
发贴纪念,呵
标签:
0

as3实现简单状态模式0 / 475

2007/1/8 13:26:00
取代条件语句的小方法用载图看得清楚些,呵
标签:
0

动态改变注册点0 / 255

2007/1/22 3:06:00
参考老外的思路,改成了as3版package fbook.game.display{import flash.display.DisplayObjectimport flash.geom.Point//动态设置注册点public class DynamicRegistration{//需更改的注册点位置private var regpoint:Point//更改注册的显示对象private var target:DisplayObjectfunction DynamicRegistration(target:DisplayObject,regpoint:Point){this.target=targetthis.regpoint=regpoint}//设置显示对象的属性public function flush(prop:String,value:Number):void{var mc=this.target//转换为全局坐标var A:Point=mc.parent.globalToLocal(mc.localToGlobal(regpoint))if(prop=="x"||prop=="y"){mc[prop]=value-regpoint[prop]}else{mc[prop]=value//执行旋转等属性后,再重新计算全局坐标var B:Point=mc.parent.globalToLocal(mc.localToGlobal(regpoint))//把注册点从B点移到A点mc.x+=A.x-B.xmc.y+=A.y-B.y}}}}使用方法import fbook.game.display.DynamicRegistrationvar reg:DynamicRegistration=new DynamicRegistra……
标签:
0

Dictionary类与映射0 / 243

2007/1/24 12:08:00
/***包:fbook.utils*类:Hashtable(哈希表)*Hashtable用于创建哈希表,采用Dictionary类实施哈希表,可保存键字的引用*/package fbook.utils{//导入Dictionary类import flash.utils.Dictionarypublic class Hashtable{private var table:Dictionarypublic function Hashtable(){table=new Dictionary()}/***添加一个元素*参数key 键字*参数value 键值*/public function add(key:*,value:*):void{table[key]=value}/**移除一个元素*参数key 指定某个键字*/public function remove(key:*):void{delete table[key]}//清除所有元素public function clear():void{table=new Dictionary()}//用于测试哈希表public function test():void{for(var key in table){trace("key="+key+","+"value="+table[key])}}}}import fbook.utils.Hashtablevar table:Hashtable=new Hashtable()table.add("zjs","it is String")table.add(1,"it is number")var obj=new Object()table.add(obj,"……
标签:
0

3D旋转菜单0 / 265

2007/3/22 11:40:00
把以前写的1个效果改成了as3版http://blog.5d.cn/vip/zjs35/upload/2007-03/2007-3-22161844_1_.swf
标签:
0

《as2编程技术教程》在线版0 / 285

2007/4/2 6:55:00
今天偶然在books.google.com找到的地址:http://books.google.com/books?vid=ISBN7302109648&id=t4lUtSGwA4oC&pg=PA1&lpg=PA1&ots=RYbpCcIO8v&dq=Flash&hl=zh-CN&sig=JBaSW4sJ36pqkTHJYg7IDQrCJwg#PRA1-PA6,M1
标签:
0

Flash CS3试用:从库中导出图片0 / 490

2007/4/24 0:34:00
昨晚整用alpha版做的源文件时,发现导出图片的例子失效,提示缺省2个参数的错误,原来是要在构造函数中输入宽和高像下面这样:var bitmapdata:BitmapData=new Photo(0,0)var img:Bitmap=new Bitmap(bitmapdata) addChild(img)实际上,实际的效果与参数的大小无关,真晕下面是动态的从库中导出,效果与前面一模一样var linkname:String="Photo"var cla:Class=getDefinitionByName(linkname)var bitmapdata:BitmapData=new cla(1000,10000)var img:Bitmap=new Bitmap(bitmapdata) addChild(img)有意思的是,单独运行播放器也会提示错误。如图
标签:
0

在类中访问手工创建的显示对象0 / 255

2007/4/25 5:43:00
与alpha版还是有区别的,变得更加简单了,只需导入手工创建的显示对象的类型假设在主时间轴创建实例名为mc的影片剪辑实例文档类package{import flash.display.Sprite//时间轴中使用了movie clip,要导入import flash.display.MovieClippublic class Test extends Sprite{function Test(){trace(mc)trace(mc.stage)}}}输出:[object MovieClip][object Stage]同样的,如果要自定义链接类,方法也是一样的,假设在mc下有mcA链接类也这样写package{import flash.display.Spriteimport flash.display.MovieClippublic class Test extends Sprite{function Test(){trace(mcA)trace(mcA.stage)}}}我前面的两个类都继承Sprite类,如果在时间轴写有代码,需要继承MovieClip类,这就是两者的区别在mc内的时间轴写定义变量var mcVar:String="var of mc"把链接类改成package{import flash.display.MovieClippublic class Test extends MovieClip{function Test(){trace(this.mcVar)//null}public function traceMsg(){trace(this.mcVar)}}}在主时间轴中的第1帧调用mc.traceMsg()//null第2帧调用,输出:var of mc在mc的时间中调用this.traceMsg()//var of mc
标签:
每页显示10个作品,共3页 << <123> >>