九天雁翎的博客
如果你想在软件业获得成功,就使用你知道的最强大的语言,用它解决你知道的最难的问题,并且等待竞争对手的经理做出自甘平庸的选择。 -- Paul Graham

UnityScript程序设计语言

UnityScript(即javaScript for Unity)的教程网上千千万, 中文的也不少, 但是讲Unity3D界面操作的多, 讲UnityScript这个语言的少, 同时对于UnityScript的描述部分, 也是入门的教程多, 对语言特性的描述少, 能够成系统的我就根本没有找到过. 连续的看了不少的Unity3D的文章, 书籍, 但是发现写代码的时候, 对UnityScript的细节掌握仍然不甚了了, 也就是对怎么写UnityScript效率更高, 更加符合语言设计的目的, 风格等事情并还没有清晰的认识. 这个对于习惯写脚本的人来说, 可能是常态, 对于习惯C++我来说, 简直难以忍受.

看到这样的名字, 学过编程的人都知道我是模仿了经典的C语言教材, 目的也是一样. 本文的目的不是再多写一个教程, 而是希望对UnityScript这个语言进行一个较为深入细节, 并且准确的描述. 也就是说, 相对于教程, 本文会更加像一个语言说明书. 同时, 更不用说的就是, 本文会甚少涉及Unity3D本身的界面操作, 仅仅关注于UnityScript这个语言, 不要希望通过本文学会Unity3D, 但是, 当你对Unity3D有了些基本的了解后, 希望写一个大型游戏时, 本文会对你该怎么写脚本, 怎么写对脚本, 怎么样写好脚本, 并且避免掉进语言的陷阱中有一些帮助.
更进一步的说, 因为UnityScript完全是Unity3D控制的语言, 同时仅在Unity3D中可用, 所以对于UnityScript来说, 甚至于连哪些是属于语言本身的特性, 哪些属于库的扩展, 这些都分不清楚. 这比Objective C还混乱… 在Unity里面想要完全的区分开库和语言几乎不可能, 但是本文还是会尽量做这方面的尝试, 尽量将本文的主要关注点放在语言上, 而不是库上.

阅读全文....

怎样在Unity3D中使用Json

Unity3D中的javascript有些特异,和普通的javascript差异很大,其中eval就没法在iOS下使用(其实我在桌面版本也没有使用成功过)使得Json解析这种在javascript中非常原生态的事情变得不那么直接了。

直接使用eval后Unity3D给的错误信息很高端,我是没有看懂,应该是没有找到eval这个通用的函数:

Mono: AssemblyAssets/Scripts/Example/JTianLingExample.js(1,1): BCE0172: `UnityScript.Scripting.IEvaluationDomainProvider’ interface member implementation must be public or explicit.

在网上找到了litjson库,通过这个支持.Net的库来曲线救国,折腾了一下,基本搞定。看网上讲litjson的资料很少,并且以C#居多,我这里就记录一下。

阅读全文....

UnityScript风格指南(UnityScript Style Guide)

公司最近要开新的Unity3d项目了,Google虽然有JavaScript Style Guide,但是UnityScript和JavaScript的区别实在大到了几乎不是同一种语言的地步,这个只能自己动手了。好在起码还能参考一下Google的style guide。

阅读全文....

疯狂猎鸟项目小结 -- 技术篇(主要是cocos2d-x相关)

上次写了篇关于自己浅薄的管理经验的博客,被一些筒子们批评了,这次还是写篇技术贴吧,这样就不会有人说了,因为……那些人看不懂。该文早就和肖寒泉说了要写,但是因为写完后感觉好话不多,技术不多,就一直没有发布,现在我们又要开新项目了,而且不使用cocos2d-x了,那就发布了吧。

阅读全文....

新的转变

2012总归是来了,这句话因为某种原因,听起来很悲壮。而这个时候,似乎也是该总结下2011的时候了,虽然过去的一年,我写的博客是越来越少了。 过去的一年对于我个人来说,应该算是工作以来最具有历史意义的一年吧,人生的轨迹在这里算是有了一个转折,或者说,有了一个比较突兀的变化。在年初的时候,我做了一个不那么艰难的决定,离开了那个曾经做出艰难决定的公司,加入了一家不到十人的初创企业,而这,决定了我将经历对于我个人来说最不平凡的一年,事实上,的确不平凡。 以前的工作对于我来说太容易,太没有挑战了,我需要一些更有难度的工作,这话由我说来似乎太过于自负或者自大,但是,这个话是前领导在年初的时候想要让我做出一些改变,给我的一个评价。背后的故事就不多说了,现在想想这个话说的的确有道理,假如我能够在每天晚上学习到半夜2~3点,因为兴趣去研究一些与工作不甚有关系的技术问题,写一堆乱七八糟的技术文章,而第二天半晕着去工作,但是工作却还总是不错的,甚至能够常常受到上级的认可,那这个工作对于我来说,的确有些过于容易了。 说这些没有啥自我膨胀的意思,虽然知道在中国当前环境下说这个话有些危险, 其实,说这些只是用于感叹今年我个人角色的一些转变,以及逐渐不那么容易的工作历程。

阅读全文....

移动平台现在可用的C++ 11特性

移动平台特指iOS和Android,并且Android使用的是NDK,因为开发的时候是在Win32平台下,所以还需要考虑VS的支持。

当前(2011-12-21)最新的版本:

Win32: Visual Studio 2010

Android NDK: GCC 4.4.3

iOS: Apple LLVM compiler 3.0(Clang)

本文所描述的C++ 11特性仅在上述三个平台,所写的版本号中有效,请先确认这点。

阅读全文....

博客重建~~~

因为刚刚开始自己尝试建wp博客,买了VPS,并且用的月付费,结果因为上个月忘了付钱了,尽管我在发现博客停止的第二天就补上了钱,但是托管商已经直接把数据删了,所以完全无法恢复,这个太悲催了,最悲催的是,我前段时间在服务器面板上使用的备份功能被告知没有用,只能从服务器上的备份数据恢复,不能上传数据(我备份后下载回来的)恢复………..于是,重建博客吧………

首先尝试用amazon ec2来搭建wordpress,上手还算比较容易,但是我发现amazon的RDS太贵了,折算到人民币要5K多一年,而且没有免费的一年试用,所以作罢。

然后不过这次不再使用VPS了,我发现我其实也不需要,以前想要VPS做一些服务器要做的事情,其实现在可以通过amazon ec2来完成了。让blog就是blog吧,这样买个虚拟空间也便宜,还能用cPanel….干什么都挺方便的,不要再自己折腾linux的配置了,呵呵,我发现我现在越来越懒于折腾了,难道是老了吗?曾经我认为人生在于折腾……

阅读全文....