java不太适合unity引擎或者说java不适合游戏开发:
Java不具备脚本特性。很多游戏的逻辑层是用脚本或者胶水语言写的。这是因迹知散为游戏的核心架构是一个类似实时模拟器的系统。绝大多数引擎姿氏都把每个单元封装成一个module。对于每一个module的代码都用脚本来写,方便新增和删除。但是Java的语法繁琐,面向对象逻辑结构深,不太适合脚本化。
Java作为静态语言,内存控制较弱。这一点其实并不主要。因为大多数引擎都是C++底层,上层用脚本。所以Java对内存控制弱的部分当然也可以用C++控制。但是Java脚本性,语言表达能力的不足,Java作为上层语言太繁琐,作为下层语言对内存控制能力不如C++。
Java的跨语言能力较弱。现代化语言都有Foreign language interface用于跨语言交互。其主要都是C接口。然后Java在这方面的能力不算非常多,这就导致了Java不太方便Host其他语言。
最重要一点,Java语言表猛乱达能力低。Java当然是个好语言,而且设计非常严谨。严谨的好处是大型企业应用更健壮,坏处是表达能力太弱。在游戏中,矩阵向量运算是最最最最频繁的运算之一。不支持算符重载的Java,相信我,写不超过100行代码你就会崩溃。
一切以需求为出发点,如果两者需要做交互,如调用系统原生API(蓝牙、通讯录等)、接入第三方的SDK(广告、推送、支付等等),那么这毕裤蚂种情况纯卖下是需要的,如果希望用UGUI或者NGUI来做界面的,我觉得可以省点力气了,用一个3D引擎去做2D界面,总会给人一种杀鸡焉用
牛刀的感觉,况且对资源的消耗还比较大,做界面还是老老实实的用Google的那套流程吧!关于两者交互可以参考下面的文章:
[Unity3D]Unity3D游戏开发之Unity与Android交互调用研究
[Unity3D]Unity3D游戏开发之在Android视图手埋中嵌入Unity视图
[Unity3D]Unity3D游戏开发之从Unity3D到Eclipse
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)