:::: 菜单 ::::
日志类别: Flash/AIR

再见,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

游戏设计与人的六大需求

我花费了许多时间思考电子游戏,远不止从概念到完工。无论制作还是玩或参与社区讨论,我意识到有些事情我想分享出来。

游戏设计既是有机感性的又是结构理性的,随着我越是与过程和结果打交道,我越意识到,在游戏设计中有些隐藏的核心价值,这些价值紧密联系了人的六大需求。一个游戏越切合这些价值/需求,主观上讲就越是好游戏。

第一关: 大海捞针

你可能知道,有海量的电子游戏在很多平台上发行,数量与日俱增,且每过一天,找到你会喜爱的游戏变得越来越难。例如,在Steam平台上的游戏,按“特色”、“受欢迎”、“新上”和“最近更新”排序。更深入到搜索选项中,会有风格、用户关键词、评级、用户评级和独特功能和分类。这虽然好,但绝对没有好过直接告诉我我会喜爱哪款游戏。最好仔细猜测。

[ 阅读全文 ]


iOS6跳转到原生地图并导航的ANE

cn.flashj.ane.ios.OpenMap是一个iOS上的原生扩展,实现很简单的一件事情:跳转到系统自带的地图,并导航到某地。

提供2个方法:

  • openMap.routeFromSourceToDest(source, dest);
    从source导航到dest。
  • openMap.routeToDest(dest);
    从当前位置导航到dest。

其中,参数source、dest都是cn.flashj.ane.ios.MapItemVO,此类有三个字段:纬度、经度、地名。

使用例子: [ 阅读全文 ]


Adobe AIR打包用到外部sdk的ANE时报错

现象:

我们项目需要用到ANE扫二维码的功能,XCode里用ZBarSDK写好之后发布成ane,adt打包成ipa的时候报错如下:

Packaging failed!
Packaging error message:
Compilation failed while executing : ld64
Packaging output:
ld: warning: ignoring file /var/folders/l5/kql7svqx5j93vwg65tj3pt_c0000gn/T/8e0d5504-ffea-41da-a45b-22cfe260a197/libcn.flashj.ane.ios.QRScan.a, file was built for archive which is not the architecture being linked (armv7): /var/folders/l5/kql7svqx5j93vwg65tj3pt_c0000gn/T/8e0d5504-ffea-41da-a45b-22cfe260a197/libcn.flashj.ane.ios.QRScan.a
Undefined symbols for architecture armv7:
“_QRScanExtInitializer”, referenced from:
_g_com_adobe_air_fre_fmap in extensionglue.o
(maybe you meant: _QRScanExtInitializer_name)
“_QRScanExtFinalizer”, referenced from:
_g_com_adobe_air_fre_fmap in extensionglue.o
(maybe you meant: _QRScanExtFinalizer_name)
ld: symbol(s) not found for architecture armv7

[ 阅读全文 ]



Links about Feathers

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

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

 

 


Unity3D导入fbx丢失贴图

问题:
从3dsMax导出fbx给Unity用,总是会丢失贴图。尽管Unity导入fbx时会自动导入材质球,但是贴图文件都会变成空的,要重新一个一个贴图填进去,真是太浪费时间了。

解决方案:
3dsMax中模型和贴图采用统一命名,贴图文件拷贝到Unity项目中,然后再导入fbx,就会为自动创建的材质找到对应贴图了。



页面:123456789