- 博客(36)
- 收藏
- 关注
原创 关于TweenLite
TweenLite的核心机制是用EnterFrame来驱动,用getTimer()来获取时间差,因而可以得到一个较准确的值。renderTime()来渲染计算当前时间的动作。flash.utils.getTimer():int用于计算相对时间。对于处理 ActionScript 3.0 的 Flash 运行时,此方法返回自为 ActionScript 3.0 (AVM2) 启动 F
2013-04-11 20:16:34
797
原创 中文字体设置fontFamily无效
有时候给TextField、mx:Label等控件设置fontFamily时不起作用,可以试试用中文字体的英文名来解决。华文细黑:STHeiti Light [STXihei]华文黑体:STHeiti华文楷体:STKaiti华文宋体:STSong华文仿宋:STFangsong儷黑 Pro:LiHei Pro Medium儷宋 Pro:LiSo
2013-04-08 10:46:25
7980
1
转载 影响Flash文件大小的因素
原文链接:http://uh.9ria.com/space-52928-do-blog-id-2724.html一个FLASH的最小尺寸: 30输出时加保护: 2增加一个层: 0 (所以不要吝啬层)增加一个场景: 0 (多用啊) 将图形定义成符号: -2 (尽量定义,好处多多)增加一个空按钮(里面无任何图形):4增加一个MC: 26拖一个图形符号到场景中:
2013-04-07 17:03:40
680
原创 Text截取字符
text:TextFieldvar str:String = text.text.slice();var truncated:Boolean = false;str = str.slice(0, Math.floor((maxWidth / (text.textWidth + 5)) * str.length));text.text = str;while (str.length > 1
2013-04-07 15:47:48
1048
原创 Starling 学习
Starling项目启动时报错This application is not correctly embedded (wrong wmode value) 在项目配置文件中加params.wmode = "direct"手机配置文件中加directthis.theme.setInitializerForClass(Button, initializerFun,
2013-03-11 21:51:53
401
转载 砸向敌人的炮弹:已知初速度让抛物线过任意点
转载自http://bbs.9ria.com/thread-171055-1-1.html这个问题大家做游戏的时候可能都遇到过,最近手上一个项目正好用到,昨天推导了一下适用于程序的公式,不敢藏私分享给大家。问题:如何使初速度恒定的炮弹,以合适的角度击中射程内的任意点,画图表示的话就是这样:已知炮弹初速度,求发射角度使抛物线过某点 p(就是小蘑菇同学了)。这在一些需要计算提前量的射击游戏
2013-01-15 18:59:27
5924
1
转载 漂移算法
vy -= (mspeed*Math.cos(p1.rotation*(Math.PI/180)))*ms/100;vx +=(mspeed*Math.sin(p1.rotation*(Math.PI/180)))*ms/100;ms=0;//动力加速度mspeed=0.98;//惯性/漂移因子
2012-12-28 09:20:40
1764
原创 ArrayCollection的itemUpdated
更新ArrayCollection中的某一项可使用itemUpdated。 API: itemUpdated()方法public function itemUpdated(item:Object, property:Object = null, oldValue:Object = null, newValue:Object = null):void
2012-12-21 22:00:05
1067
原创 关于FLEX中的文本控件
对TextField设置TextFormat,会导致TextField不会随父容器缩放。mx的Label控件设置autoSize = "left" 并且truncateToFit="true"后,英文小写字母可能会因为Label控件宽度不够而显示不完整。truncateToFit对htmlText无效。mx:Label只显示单行,s:Label可显示多行。被截断后,会自动设置too
2012-12-06 20:14:31
413
原创 组件的缩放
在对容器进行调整大小的时候,要注意容器的resizeMode,默认是NO_SCALE,宽度 高度可能会变化。将resizeMode设为ResizeMode.SCALE后,宽度和高度才不会变化。spark.components.Group.resizeMode(value:String):void此容器的 ResizeMode。如果将调整大小模式设置为 ResizeMode.NO
2012-11-13 19:58:10
541
原创 数据绑定
Flex中的绑定无疑是很好用的。Flex为我们提供了多种使用数据绑定的方式,归纳起来通常有以下几种:{}绑定实现标记绑定实现应用BindingUtil类绑定实现ChangeWacher绑定实现[Bindable]元标签绑定实现双向绑定[Bindable]的完整形式为[Bindable(event=”propertyChange”)],实际上我们简
2012-11-12 21:52:29
571
原创 关于AS3的垃圾回收
FlashPlayer运行GC(Gabage Collection)的时间并不固定,它会根据你的内存的占用情况来决定运行GC的时间。它会根据用户机器的内存值来设定一个阀值,然后将程序的占用内存量保存在该阀值左右。GC是在每次申请内存时,根据当前内存占用来触发的。申请内存是一个必要因素。所以,如果一直不进行申请内存的操作,就算内存达到了一个高值,它也不会进行GC。但要注意,这只是决定回收
2012-11-08 20:52:44
3218
原创 图像变形(二)
用Pixel Bender实现的图片变形效果其他变形效果也可实现,只要算出变形后的像素点位置对应原图片的像素点即可。算出变形后图片的点P1(x1,y1)对应于原图像的P0(x0,y0),P1的像素值即P0的像素值,当然为了图片能更平滑,采用二次插值或线性插值。input image4 src;//输入图片output pixel4 dst;//输出像素值outCo
2012-10-31 21:27:38
572
原创 研磨设计模式之观察者模式 学习笔记
观察者模式按照模式的定义,目标和观察者之间是典型的一对多的关系。也可以是一对一的关系,只有一个观察者。在观察者模式中,观察者和目标是单向依赖的,只有观察者依赖于目标,而目标是不会依赖于观察者的。它们之间联系的主动权掌握在目标手中,只有目标知道什么时候需要通知观察者,在整个过程中,观察者始终是被动的,被动的等待目标的通知,等待目标传值给它。对目标而言,所有的观察者都是
2012-10-30 22:01:22
535
原创 图像变形(一)
原理在原图像中的down点拖动到了up点,只要求出目标四边形的各点在原来的四边形的相应位置,把目标四边形的像素值置为原来四边形的相应位置的像素值,即完成了图像变形。如上图,假设(a,b,c,d)是目标四边形,我们必须求出(a,b,c,d)中所有的点P(x,y)在(aa,bb,cc,dd)中的对应点P′(xx,yy),我们这里所说的点即像素
2012-10-28 23:28:09
1118
原创 连连看算法
前几天看了下A*算法,发现并不能实现连连看。A*算法是寻找最短路径的一种高效率的算法,而连连看的路径并不一定是最短的。连连看的路径最多只能转折3次,因此判断两点的可延伸点是否有重复的,如果有,(转折为0或1)可消除,如果没有,再判断每个延伸点的延伸点与目标点的延伸点是否有重复的,有则表示可以消除并且转折了3次,没有则不成功。如图 A→B X表示未消除的 0为A的延伸点,
2012-09-21 22:26:08
666
转载 AS3实现单例模式举例
在面向对象的编程中,有时候会要求一个类有且仅存在一个实例,并提供一个全局的访问方法。所以我们在设计这样的类的时候,就需要思考如何避开构造函数,提供一种机制来实现单例(单一实例)。这就是单例模式。另因为在AS3中无法操作线程,因此我们无需考虑多线程情况下的单例。单例模式的几种AS3实现在AS3中有多种方法可以实现Singleton模式。方法1:package { pub
2012-09-21 20:39:43
5976
转载 as3常识,你不能不知道
第一部分:ActionScript. 3 语言基础 ┃ ┗━━━━━━━━━━━━━━━━━━┛ ================================================ 第2章 ActionScript. 3 语言基本元素 ================================================ 2.1.2 数据类型概述 简
2012-09-19 19:51:25
5111
转载 静态方法、单例模式区别 (转)
观点一:(单例)单例模式比静态方法有很多优势:首先,单例可以继承类,实现接口,而静态类不能(可以集成类,但不能集成实例成员);其次,单例可以被延迟初始化,静态类一般在第一次加载是初始化;再次,单例类可以被集成,他的方法可以被覆写;最后,或许最重要的是,单例类可以被用于多态而无需强迫用户只假定唯一的实例。举个例子,你可能在开始时只写一个配置,但是以后你可能需要支持超过一个配置集,
2012-09-17 21:03:54
384
原创 BitmapData简单的粒子效果
package{ import flash.display.Bitmap; import flash.display.BitmapData; import flash.display.Sprite; import flash.events.Event; import flash.events.MouseEvent; import flash.events.TimerEvent; i
2012-09-15 14:31:48
520
原创 做个小游戏
一直很喜欢玩游戏,这次也开始写些小游戏。连连看,准备开始练手的第一个项目。不知道网上是如何实现的,也没看过例子,不过应该是两点之间的寻路。所以目前初步的思路是,用A*算法获取链接路径。A*算法寻路教程:http://bbs.9ria.com/forum.php?mod=viewthread&tid=11026顺便也试试Andriod开发。
2012-09-10 22:46:11
456
原创 8.14
还活着,生活就得继续。一直以来都没真正的去考虑,去计划未来,都是想当然的。自然现实不会让你过得如此轻松惬意。很多都是意料不到的,正如突然发现本该是一元硬币的,却成了一枚电玩游戏币。也许是打击,也许是挫折,也许是不曾想到的小事,反正是该改变了。规划下未来,主动点,成熟点。
2012-08-14 22:51:51
376
转载 如何将FLex AIR运行环境与AIR程序一起打包
用Flex开发完成AIR,并生成AIR安装程序后,发布给终端用户后,如果用户的机器上没有安装AIR运行环境,则无法安装AIR程序。让用户再去单独安装AIR运行环境,将会使应用程序的友好性大大折扣。下面将介绍如何将AIR与AIR运行环境一起打包安装的方法。 如果你的目标用户为windows操作系统,则先到Adobe网站上下载:AIR_Win_Install_files。 下载Zip包
2012-07-16 15:44:03
2995
转载 Vector与Array的区别
Array是非类型化、稀疏数组: 所有元素类型并不要求相同,也不要求每个元素都有值,系统会添加默认空元素。//未初始化数组元素个数var arrA:Array=new Array();arrA[0]=0;arrA[9]=9;trace(arrA);//输出:0,,,,,,,,,9trace(arrA[1]);//输出:undefined //初始化数组元素个数为11var arrB
2012-04-20 16:26:56
1235
转载 平面坐标系变换公式
当坐标系绕原来坐标系转动了θ角度,则新坐标系中的坐标与旧坐标系中坐标的关系为x'=x*conθ+y*sinθy'=-x*sinθ+y*cosθ
2012-04-20 16:24:39
1645
原创 1.30记
从毕业前的四处奔波找工作,到现在的公司上班回住处睡觉,已经8个月了。一切都走在正轨上。--------------------------------------------------------面试不多,有大公司,也有小公司,有我不够格的,也有我看不上的,有失败的,也有成功的。自信很重要。现在的公司是个小公司,创业不久,人也不多,工资也低,呆着感觉还不错。天天有项目
2012-01-30 22:20:41
274
转载 pv3d入门及贴图
首先,PV3D的3D舞台需要一个容器,用来容纳整个3D舞台。 这个容器至少是Sprite类型的,因为Sprite是AS3或者说Flash9里,显示对象的最小单位,这也是我们的主类一定要继承自Sprite的原因,因为它需要被显示。// 创建3D舞台的容器_container = new Sprite();_container.x = 100;_container.y = 100;
2012-01-09 15:21:50
1507
原创 BitmapData.setPixels() Error #2030: 遇到文件尾
EOFError(EOF:End of File) 如果尝试读取的内容超出可用数据的末尾,则会引发 EOFError 异常。setPixels()需要设置参数:1、rect 2、inputByteArray在调用setPixels()之前,必须设置inputByteArray的文件指针为0,以使得setPixels()从列表的起始处开始读取像素的颜色值,否则可能EOFError。
2011-12-24 11:32:49
3344
转载 不要if实现数组的循环遍历
一般对于数组的循环遍历(比如多个图片的循环展示)都是用if语句实现的,其实可以很简单的就是不用if语句实现。// 语句实现伪代码var MyArr=[0,1,2,3,4,5];var index=0;//遍历指针//遍历过程//访问代码,对MyArr[i]访问的一些代码index++; //也可以是index--//----if 实现方式----if (index>=MyAr
2011-11-30 10:02:57
1348
原创 localToGlobal()和globalToLocal()
localToGlobal1.localToGlobal必须是点的父组件去取值:pointParent.localToGlobal(new Point(point.x,point.y));2.当要确定坐标的组件是popUp属性的,且父级窗口大小可变化,此时要弹出组件随父级窗口大小变化的情况下,在监听Resize事件的时候,需要调用重写过updateDisplayList的方法,而此时的
2011-11-17 11:12:11
2090
转载 Flex Cairngorm详解
Cairngorm是一个开源的Flex项目,为FLex提供了一个类似MVC的体系结构框架,它是Flex RIA开发的最好框架之一。使用Cairngorm框架可以大大提高开发和维护的效率。 Cairngorm说白了就是一大堆的设计模式和功能模块,它分为6部分,分别是:Business(业务逻辑部分)。Command(命令部分)。Control(控制部分)。Model(数据模型部分)。V
2011-11-10 15:24:14
567
原创 flex文件保存
AIR项目:无需弹对话框,直接保存var file:File = File.documentsDirectory.resolvePath(folderPath.text + "/" + name + ".xml"); //保存路径和文件名var fileStream:FileStream = new FileStream(); fileStream.open(
2011-11-09 11:22:18
1728
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人