发博文
个人资料
aone
aone
  • 博客等级:
  • 博客积分:155
  • 博客访问:3,455
  • 关注人气:4
友情连接

火柴人武斗网

火柴人~~!!

AS3天地会

AS3天地会,中国最大的FLASH社区。

访客
加载中…
评论
加载中…
留言
加载中…
博文
(2012-01-02 07:00)
标签:

杂谈

希望2012不像2011那样迷茫!

阅读  ┆ 评论  ┆ 转载 ┆ 收藏 

    最近换了部手机,打算弄弄安卓的移动应用。近来发布的FlashBuilder4.5也直接支持了移动平台的AIR项目,反正可以直接跑FLASH了。

    于是简单的建了个安卓项目把SP的游戏直接丢进去看看运行效果,结果在没有任何改动的情况下可以跑到30FPS(满速60FPS)。效果只能说一般吧,要完整的游戏跑起来估计得针对性的去优化引擎才行。

    对于停工数月的SP目前只能先努力的把手头的工作尽早的完成再继续弄了。而手头的东西由于之前一个最后弄的不愉快的项目还耽搁了一周多。大概还得半个月左右才能吧LIIUI的模板项目告一段落。之前就只能看看鬼人的角色设计和动画设计咯...

 



阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
(2011-04-14 02:18)
标签:

liiui

as3

ui

组件

杂谈

分类: LiiUI

给自己这套UI设计了个LOGO,并且作为LOADING时候的动画。


左边时看上去就是UI两个字母,然后渐变出中间的Lii。静态的就是右边的样子。

 

纯代码写了个动画,代码如下(直接贴到FLA里就可以看效果):

 

import flash.display.BitmapData;
import flash.display.Bitmap;
import flash.events.Event;
import flash.geom.Point;
import flash.geom.Rectangle;

var dx:Bitmap = new Bitmap(new BitmapData(18,16,true,0))
dx.x = 20;
dx.y = 20;
var d2:BitmapData = new BitmapData(12,10,true,0);
var d3:BitmapData = new BitmapData(12,10,true,0);
var d4:BitmapData = new BitmapData(12,10,true,0);
var a:Arra

阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
(2011-04-06 21:53)

  好像很久灭更新咯,鬼人从年前开始热恋然后趁热打铁结婚.... 所以SP基本停滞,我也趁机搞点公司项目去了。不过SP没死而且有所进化。上个月给SP加上3D效果,并且实现了观屏镜真视觉3D的蛋疼效果(就是可以和IMAX那样看出图像深度而产生强烈的3D感)。为此也特意在已经基本完成的背景系统里加入了垂直屏幕的隔断贴图,为此也修改了不少地方。不过效果还是比较满意的啦。

  现在就等鬼人完婚后继续折腾咯。

上张图~



阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
标签:

as3

翻页

3d

杂谈

分类: AS3

 前段时间公司项目中产生的一段翻页代码,分享给大家。

  大致是个什么东西呢?搞杂志翻页的其实很多,从AS2开始就一直有一种平面翻页伪3D翻页的经典做法,而且该方法流传也非常的广泛。不过由于我的客户比较挑剔,为了能给他们更好的体验于是产生了用透视3D做翻页的想法。虽然实际也有不少人做过但是现成的代码一下子还没找到....而且多半都是用第三方3D引擎来制作效果,那势必造成编译后文件体积会比较大的问题。于是想弄简单一些达到效果就好。

  制作过程就是先用3DsMax建一个页面的翻页动画,然后用MXScript(3DsMax用的编程语言)导出所有动画每帧的顶点坐标。把坐标丢到AS3里再重新复原出这段逐帧的3D动画即可。特点是基本不需要第3方类库,其他就没什么特别的了。

 

源文件请到这里下载:

阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
标签:

杂谈

  在一部分AS3项目中XML是我们经常使用的一种保存数据的手段,我们经常用XML来保存一些数据或者一些参数的设置。使用FLEX的朋友更是对MXML这个XML的加强定制版非常熟悉。那么在编写代码的时候我们就不得不经常写一些解析XML内容的代码。今天我要讲的有个小技巧也是刚整理出来的一种命名空间来方便解析XML的方法。有朋友已经从LEX的MXML中领悟到这种使用方法的话请勿见笑。

一、复杂类型变量值的转换
  在XML中我们都知道在用AS3的XML类读取进来后,其各种值基本都是以String的形式存在的。所以在想存放一些比如数组或者在制作UI的时候的一些复合属性时我们需要
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
平时我们在写AS3的时候很少使用到自定义命名空间,我们的代码也确实可以完全避免使用自定义命名空间就可以完成所有功能。但是既然AS3有这个东西那么肯定有它能够胜任的工作,那么自定义命名空间到底能为我们带来些什么呢?今天我整理了一些自己的自定义命名空间使用技巧,希望能给大家带来帮助,希望能给大家一些启发。第一个技巧就是通过自定义命名空间来提高代码的可读性和易用性。

一:私有变量与封装变量
  平时我们学习写代码的时候所使用的命名空间基本就是以public、private、protected这三种为主,而在变量命名的技巧上则遵循驼峰命名法。但是碰到要封装的变量则会起一个和get/set差不多的变量名来表明他们之间的关系。比如一下代码:
  1. private var _x:Number;
  2. public function get x():Number{
  3.         return this._x;
  4. }
  5. public function set x(value:Number):void{
  6.         this._x = value;
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
标签:

杂谈

分类: 位图引擎

  在getBounds算法上整整卡了半个月,中间清明节还有食物中毒啥的浪费了不少时间....

 

  在尝试了4种不同算法后发现还是用Matrix计算最快,只是在计算Matrix时一直认为赋值顺序不影响结果,结果我错了... 按Matrix自带的方法createBox的算法生成容器Matrix是不正确的。而是应该先缩放再旋转而非先旋转在缩放,就因为一直想当然的认为先后次序不影响数据,结果在上面耗费了大量时间。

 

  虽然算法出来了,而且贼简单...但是还是比不过原生FP的getBounds算法,自己写的消耗是它的2.5倍以上。不过幸好有命名空间高速缓存的办法多少挽回了一些性能。如果能把Matrix中计算三角函数部分优化成取值模式而不是即时计算的话性能应该会更高吧...

 

  解决了旋转缩放投影到屏幕的getBounds之后就要开始核心部分——预渲染了。这部分有别于FP的画家模式按层深从小到大直接绘制。我的办法是按层深从大到小的逆向绘制过程,而且把绘制过程分成绘制内容分析的预渲染部分和根据分析结果数据来进行实际绘制的实际渲染部分。有别于画家模式的最大特点就是可以大大减少绘制的总面积,从而达到提高渲染效率的目的。而里

阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
标签:

杂谈

分类: AS3

  引擎写复杂了要调试的信息也开始多了起来。而本人对断点调试也没什么心得,还是比较喜欢trace。而且FB和FLASH互相切换来调试总归麻烦。无奈就写了个_trace方法来让trace有一些层次感。

效果如图:



代码入下:

 

package
{
 public function _trace(...info):void
   
 

阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
 对于自己构建位图引擎的朋友来说要完全控制性能消耗就必须完全掌控渲染的时机。所以也有了新闻区老外的期望——关闭FP自身的自动渲染机制(ENTER_FRAME),完全由自己来触发渲染。
  那么在我个人之前的一些尝试和探索中终于又发现了一种强制渲染的方法。而此法无视帧频无视条件,不必由鼠标、键盘、timer、EnterFrame来触发,而是即用即得。
  现在把这个方法分享给大家,废话少说直接上测试代码(将代码拷贝到FLA时间轴上测试即可):
注:如果代码中的下载连接失效请自行换一个体积大点的下载连接,此loader是当timer来使用的,所以动画不平滑是由于ProgressEvent.PROGRESS触发不均匀所致。此DEMO只做可行性测试使用。

var lii:URLLoader = new URLLoader();
lii.addEventListener(ProgressEvent.PROGRESS,test);

阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
  

新浪BLOG意见反馈留言板 不良信息反馈 电话:4006900000 提示音后按1键(按当地市话标准计费) 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

新浪公司 版权所有