哪位技术大可以把艾诺迪亚改成Java版?
java吧
全部回复
仅看楼主
level 1
Java版王权就和安卓版画面一样好啊!~
2012年05月02日 01点05分 1
level 16
问题一:这个东西的核心代码不可能弄到,想改也无从改起,只能自己用相关资源自己写代码
问题二:就算能弄到,你看看这个游戏才多大,画面、图片这些文件都很小,也就是说资源的分辨率不高,就算我们能把图片资源提取出来,自己写代码移到PC上,窗体也只能像手机,最多像pad那么大,不然就会发现画面效果很差
如果楼主这两个问题都无所谓,那有资源的话,自己写个游戏出来难度也不大
2012年05月02日 01点05分 2
level 1
我是小白~
2012年05月02日 02点05分 3
level 1
Java的话国产触屏手机就能带起了,游戏只有几十兆,原来也有Sis版的魔兽争霸2和雷神之锤,那些也有代码吗?
2012年05月02日 02点05分 4
level 16
…… 国产触屏手机难道不是用的 android 系统?
难道还是什么自己开发的基于 java 的操作系统?
2012年05月02日 02点05分 5
level 1
资源全在安装好的游戏文件夹里不是吗?
2012年05月02日 06点05分 6
level 5
是这样的,艾诺迪亚本身是C/C++代码开发的ARPG游戏,在Android环境下是利用JNI方式执行(本地库调用方式,简单的说近似于让Java执行C/C++写的代码,它是C/C++写的这点事实上没变),所以Android版和IOS版的效果才能基本一致。
可惜,就您目前提供的信息来看,您所使用的手机系统很可能并非Android,而只是将古老的Sybiam系统装载J2ME再配上触摸屏,制作出的“伪智能机”罢了(话说您提到了sis文件了,个人分析您应该正在使用Symbian系统,所以您所讲的移植,事实上应该是指把Android游戏移植成J2ME游戏)。
但遗憾的是,Symbian系统搭载的J2ME运行环境,并不能支持Android的上述运行方式,也就无法直接移植出艾诺迪亚的Android版本,除非重写代码才可能实现(主要是J2ME对比Android有很多模块没有对应的API,虽然都是Java,但Android的运行环境基本等于J2SE,也就是近似Java的桌面运行环境,而J2ME却是Java在手机环境下专用的精简版,所以不能完全匹配)。更何况,Android系统的Java环境也不是标准Java,而是基于自制的Dalvik虚拟机,它的作用也不是J2ME运行环境可以直接照搬的。
这样问题就来了,因为艾诺迪亚厂商自己没有做艾诺迪亚的Symbian系统版本,而Symbian系统中也没有任何方式可以直接运行IOS或Android应用,所以从理论上讲,除非我们获得了艾诺迪亚的完整源码,否则将不可能有人能让现有的艾诺迪亚,直接跑到Sybiam系统之上。当然,有人抛开原始厂商不管,重新制作一款表面效果相同,但内核迥异的新游戏到Sybiam系统,那也不是不行(某些非针对Sybiam环境开发的游戏,能够直接在Sybiam系统运行,是因为有人提供了特殊的环境模拟器(比如ONS运行GalGame那样),或者开发者自己做了Sybiam版,才可以在不同环境呈现出同样的效果。但目前Sybiam环境下并没有人制作对应Android或IOS设备的程序模拟器,因此在没有源码的前提下,只能彻底重制)
问题是,会有这样的冤大头,活雷锋存在吗?(仿造它的战斗系统做新游戏可以,但完全重制出原版有点费力不讨还,毕竟人家的版权……)

2012年05月02日 07点05分 7
level 1
高人…膜拜一下先,如此认真地回答我这无理的问题,万分感谢~我的是塞班安娜系统,我发现安装好的刺客信条HD和不朽的神迹在手机内的安装文件夹类似PC游戏安装文件目录,也看过Sis格式移植的魔兽争霸2,虽然什么原理都不懂,但N8的内核带艾诺迪亚应该还是行的,所以…虽然放假换iphone了,但还是想了解下塞班^3的系统和安卓相差很多吗?Gameloft部分3D游戏也有塞班^3的移植版,是否是由于移植上塞班^3有一定的困难,以及塞班^3本身的系统架构不友好才导致塞班的衰败?
2012年05月02日 07点05分 8
level 1
我发现塞班^3和之前的S60V3、V5有所差别,我记得S40的Jar软件是不需要安装的,而^3上的Jar都需安装,但是对Jar的大部分3D射击游戏都很卡,是否是由于^3只是用类似模拟器的形式运行Java的
2012年05月02日 08点05分 9
level 5
仅从性能角度出发,Symbian跑任意Android2D游戏的移植版本也无压力(3D游戏的多边形处理非常考验手机性能,稍微差点的配置都会卡,和具体微系统有关,但差异主要体现于硬件)。
但是,两者系统的不同架构,决定了相互直接移植上的某些困难(这里说的移植,是指向汉化组那样,通过近乎黑盒的方式,以很少的改变就让原始游戏直接运行,而非开发角度上的程式移植。有源码的话,移植出绝大多数游戏的Symbian版都很简单(具体到此游戏,需要解开APK文件后位于lib\armeabi文件夹下.so文件的原始编码,它负责告知系统游戏该如何运行,现在就是欠缺这里面的逻辑关系,自行完成的话基本等于重写一款新游戏))。
毕竟Symbian是自己单独的体系,它是诺基亚自主的手机操作系统(很久很久以前,有家叫Psion的公司开发过一款名为EPOC的手机操作系统,由于当时还处于现代手机业起步阶段(更早前大家用的是“大哥大”),所以摩托罗拉、爱立信、诺基亚等公司合资办起了塞班公司, 并积极扩展出了最早的Symbian系统,希望借此对抗当时微软的WCE和稍后的WM。又过了许多年,Symbian和WCE以及WM都不行了,最早的几大家便分道扬镳,Symbian被诺基亚自己收购成了诺基亚的专属产业,再后来智能机时代来临,诺基亚就放弃了它,改玩WP7和MeeGo了……)。开发它上面的应用,需要走它的标准和流程(非常繁琐的应用签名发布流程,个人认为这是大家不爱和它玩的主因,正经发布个Symbian应用很麻烦(虽然有办法自制签名……))。
而Android是Google基于Linux内核开发的特殊版本,它本身并不能算多么创新,只是多种现有第三方开源或闭源技术的**(包括Dalvik虚拟机,也是买的)。但也正因为如此,它和绝大多数支持Linux内核的代码都先天兼容,很多so动态库甚至可以直接用于Android,也可以更方便的凭借NDK或JNI方式将C/C++开发的IOS游戏向其转化。
其实Symbian移植任何C/C++开发的游戏都没有问题,之所以不能直接运行为IOS或Android开发的程式,问题出在一些运行架构的细节,也就是可执行文件格式以及部分API的差异上。
通俗的讲,咱们可以将Android理解成一个能用三针接口接通的线路,而把Symbian当成一个需要二针接口接通的线路,然后假定两个接口都可以使用12V电压(都可以运行C/C++开发的程序)。此刻,两者虽然都能跑12V(C/C++编译出的程式),但这具体程式的运行制式却不一样,您想把一个已经做好的三针线(艾诺迪亚游戏)插入二针接口时,需要怎么办呢?现实的方法是,要么找个接口转换器,让三针变二针;要么改变插口内部线路,让它可以少那么一针也能通电且不短路。
在更具体的软件系统运行原理上也是同样,即便Android和Symbian都可以跑C/C++代码,但手机系统的具体环境差异,决定了两者代码无法直接通用。
可现在的我们,一无接口转换器(针对Symbian开发的Android或IOS应用运行模拟器),故无法直接三针插二针。二无内部线路图(游戏源码),故无法直接改变接口状态(其实以黑盒方式硬推算法,再重做一个Symbian版也不是不行,但会非常耗时),才造成了无法直接移植该游戏的状况(假如有游戏源码的话,Symbian版最多一星期搞定)。
所以,要出Symbian版主要靠原开发者,否则就只能等待国内自行开发的山寨版出现了……

2012年05月02日 16点05分 10
level 1
感谢你的回答~话说你的头像岀自哪?
2012年05月04日 06点05分 11
1