希望2012不像2011那样迷茫!
加载中…
加载中…
加载中…
标签:
杂谈 |
希望2012不像2011那样迷茫!
给自己这套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
好像很久灭更新咯,鬼人从年前开始热恋然后趁热打铁结婚.... 所以SP基本停滞,我也趁机搞点公司项目去了。不过SP没死而且有所进化。上个月给SP加上3D效果,并且实现了观屏镜真视觉3D的蛋疼效果(就是可以和IMAX那样看出图像深度而产生强烈的3D感)。为此也特意在已经基本完成的背景系统里加入了垂直屏幕的隔断贴图,为此也修改了不少地方。不过效果还是比较满意的啦。
现在就等鬼人完婚后继续折腾咯。
上张图~
前段时间公司项目中产生的一段翻页代码,分享给大家。
大致是个什么东西呢?搞杂志翻页的其实很多,从AS2开始就一直有一种平面翻页伪3D翻页的经典做法,而且该方法流传也非常的广泛。不过由于我的客户比较挑剔,为了能给他们更好的体验于是产生了用透视3D做翻页的想法。虽然实际也有不少人做过但是现成的代码一下子还没找到....而且多半都是用第三方3D引擎来制作效果,那势必造成编译后文件体积会比较大的问题。于是想弄简单一些达到效果就好。
制作过程就是先用3DsMax建一个页面的翻页动画,然后用MXScript(3DsMax用的编程语言)导出所有动画每帧的顶点坐标。把坐标丢到AS3里再重新复原出这段逐帧的3D动画即可。特点是基本不需要第3方类库,其他就没什么特别的了。
标签:
杂谈 |
在getBounds算法上整整卡了半个月,中间清明节还有食物中毒啥的浪费了不少时间....
在尝试了4种不同算法后发现还是用Matrix计算最快,只是在计算Matrix时一直认为赋值顺序不影响结果,结果我错了... 按Matrix自带的方法createBox的算法生成容器Matrix是不正确的。而是应该先缩放再旋转而非先旋转在缩放,就因为一直想当然的认为先后次序不影响数据,结果在上面耗费了大量时间。
虽然算法出来了,而且贼简单...但是还是比不过原生FP的getBounds算法,自己写的消耗是它的2.5倍以上。不过幸好有命名空间高速缓存的办法多少挽回了一些性能。如果能把Matrix中计算三角函数部分优化成取值模式而不是即时计算的话性能应该会更高吧...
解决了旋转缩放投影到屏幕的getBounds之后就要开始核心部分——预渲染了。这部分有别于FP的画家模式按层深从小到大直接绘制。我的办法是按层深从大到小的逆向绘制过程,而且把绘制过程分成绘制内容分析的预渲染部分和根据分析结果数据来进行实际绘制的实际渲染部分。有别于画家模式的最大特点就是可以大大减少绘制的总面积,从而达到提高渲染效率的目的。而里
引擎写复杂了要调试的信息也开始多了起来。而本人对断点调试也没什么心得,还是比较喜欢trace。而且FB和FLASH互相切换来调试总归麻烦。无奈就写了个_trace方法来让trace有一些层次感。
效果如图:
代码入下:
package
{
var lii:URLLoader = new URLLoader();
lii.addEventListener(ProgressEvent.PROGRESS,test);