:::: 菜单 ::::
日志标签:flash

再见,FLASH

跟flash在一起十五年了。
小的时候,关于Adobe,我先接触的是Photoshop和ImageReady。
后来Macromedia被Adobe收购,网页三剑客成了Adobe前缀,才真正围绕Adobe很多年。
曾经的梦想是“成为Flash大师。提供卓越的网页用户交互解决方案。” 仿佛已经通关毕业了去往新战场了。
最近这十年,从as3崛起到整个Flash被颠覆,看着Adobe一点一点在移动互联网时代把Flash葬送掉,我已经没有了感觉。
反正,现在也没什么地方能用得上Flash了。反正,现在也没什么地方能用得上Adobe全家桶了。
至少有ES6已经足够完善,标准、跨平台、全栈通吃。有ReactNative做App,UI方便好用。
有Unity超方便的工作流,跟美术沟通画草图,我都在Unity编辑器里做了。启动速度比Flash快得多。
有Sketch超级方便快速矢量又超大与时俱进的素材库,启动速度又快,还比PS和AI轻量便宜气质佳。
唯一舍不得的就是用了好几年的IntelliJ IDEA,这货写AS3是神器,当然也可以写白鹭和Laya,曾经装了IDEA就搞定半边天的时代不再了。
现在,我需要WebStorm写JSX配合ReactNative;需要Consulo写C#配合Unity;需要AndroidStudio写Java native code;需要AppCode写C++和iOS native code;
从渣渣FlexBuilder,到用FDT很多年,最后终于转向JetBrains全家桶,世界变得越来越美好了,足够应付所有Coding的事情了。
对Flash的感情其实很复杂,现在人老了,免不了怀旧,我怀念小时候玩红警,玩帝国,星际,后来还有魔兽,也怀念最初的渗透“东北人都是活雷锋”的FlashMTV,还有数不清的南方公园。
可是又知道,一切记忆里的东西,还是存在记忆里吧, nothing lasts forever。
要说Adobe真心不是一家令我喜爱的公司,迪士尼才是,苹果才是。Adobe终结了我的Flash情结,却给不了什么替代品,它只是在时代面前弱小的存在,像大部分实体一样。最后它自己也会成为一份记忆,也许就在我退休之前。
再见了Flash,再见Adobe。


编写的ANE出现Extension context为null的解决

调用ANE的as代码:

会发现_context总是null,原因是jar的生成过程用的JDK1.7,ane对JDK1.7支持不好。 以前我都是用的1.6所以没注意到。

需要在编译的graddle里设置采用JDK1.6:


3D对象投射到2D视图的几个参数

FOV (Field of view) 视场

操纵FOV属性值,可以使得3D显示对象呈现出近大远小的样子。FOV属性表达的是一个角度,0~180度之间,表示透视投影的力度。数值越大,应用到显示对象上在z轴上的畸变越强。较小的值会使得缩放尺度很小、物体在空间内的先后距离会很微小。较大的值会导致更大的畸变、使物体呈现出更大的移动。最大值为179.99999……度,会得到极度的鱼眼镜头效果。最小值为0.0000……1,0和180都是非法值。

Projection Center 投影中心

投影中心表示的是透视投影的消失点。是一个偏移值,追加在默认注册点也就是舞台左上角(0,0)上。 呈现在观察者越远处的物体,往消失点歪斜,直到最终消失。想象看无穷长的大厅,你放眼望去,会看到墙体的边缘交汇在远处视线尽头的消失点。 如果消失点在舞台中心,大厅的最远处就在中心点消失。默认值通常是舞台中心。如果需要最远景消失在画面右侧,就把投影中心设为舞台的最右侧一点坐标。

Focal length 焦距

焦距表示 原始视图点(0,0,0)和显示对象自身z轴位置两者间的距离。 长的焦距类似长焦距镜头,有一个狭窄的视图、物体间的距离被缩短。短的焦距类似广角镜头,让你得到一个很宽广的视图但是有很大的畸变。中等焦距大约接近人眼看世界。 往往焦距是在透视变换(如物体移动)时动态重计算的,但你可以主动设置它。

默认的透视投影参数

  • FOV: 55
  • perspectiveCenter: stagewidth/2, stageHeight/2
  • focalLength: stageWidth/ 2 * ( cos(fieldOfView/2) / sin(fieldOfView/2) )

例如:当舞台大小500*500,设置以下值:

  • fieldOfView: 55
  • perspectiveCenter: 250,250
  • focalLength: 480.24554443359375

萝莉大冒险 项目完成上架


《萝莉大冒险》是我作为主程参加完成的第一个手机游戏项目,这个项目中获得了许多经验,了解了跟页游的区别。项目是PHP (AMFPHP) + AIR (用Starling+传统UI)开发,前端Starling+传统UI的性能还是受到许多限制,以后手游我打算全部不采用传统UI了。今年是移动平台产品爆发的一年,我现在兴趣巨大。

[ 阅读全文 ]



Links about Feathers

Feathers是轻量级,易于定制皮肤和扩展的UI组件(适用于移动设备和桌面)。配合Starling用.

我近期项目用starling开发,时间比较紧,没有自己写一套配合starling的UI,正准备接下来研究一下,既然有现成的方案,就先研究下它好了.

 

 



已确定Unity3.5中将可以发布swf

正如之前所公布的消息,Unity项目将可以以Stage3D(FP11)发布成Flash。不久以后Unity项目可以运行在安装了FlashPlayer11的浏览器中。Unity团队声称他们把尽可能多的Unity特性带到Flash中,他们的目标是让Unity成为开发用于FlashPlayer的3D功能的最佳工具。

就在这个月27号,Unity将组织一个Flash技术日,这一天将带领Flash开发者快速迁移到Unity开发,展示和介绍Unity在Flash环境中支持的特性,还会提供一个入门级概览。

一些最新消息可以看这篇介绍文章:http://blogs.unity3d.com/2011/09/01/unity-and-flash-a-sneak-peek/。Unity本身的特性没太多关心的,其中一条表明跑在FP里的程序能够与Unity项目内外的as代码互相通信对我来说是个很好的消息。 [ 阅读全文 ]


Flash编译Robotlegs的项目导致运行时报错

在Flash IDE里编译使用了robotleges的项目,运行时总是报null(无法访问空对象⋯⋯)的错误。以前一直都只在FDT里编译就没这种问题,我纳闷地把DocumentClass用FDT编译了一下,居然没任何问题。仅仅是在Flash IDE里编译就会运行时报错。分析原因可能是注入失败,因为报错的都是Inject的变量。

最终原因是Flash编译时候忽略了[Inject]这个Metadata导致的。

解决方法
方法1:只要把发布设置里的“发布SWC”打钩,就可以强制Flash编译器让所有Metadata生效。
方法2:增加编译器参数 -keep-as3-metadata+=Inject -keep-as3-metadata+=PostConstruct 。平时用FDT编译之所以不会出这种错误是因为robotlegs的swc已经把参数加进去了。

我prefer方法1。



页面:123456789