安卓 游戏 开发

安卓 游戏 开发

Android 开发游戏前都要会什么 ?

Android是一个基于Java的环境。

这对初学者来说是个好消息,因为相对于C++,Java被广泛认为是一门更容易上手的语言,它是移动开发的规范。

Google也做了一件出色的工作,它将API文档化并提供示例代码供使用。

其中有个叫做API Demos的示例几乎展示了所有API的功能。

如果你熟悉Java并且用过Eclipse,要让你的第一个应用跑起来那是相当简单。

如果你以前从没写过代码,在你前进路上还要学习很多,但别气馁。

获取SDK新手上路的第一步便是获取Android SDK(软件开发工具包)。

SDK里有一个核心类库,一个模拟器,一些工具和示例代码。

我强烈建议使用Eclipse和Android Eclipse插件。

如果你玩Android的话,Eclipse IDE对Java开发者来说很好用。

如果这是你第一次开发Java项目,你可能会需要下载全套JDK,它里面包括签名和部署你的应用程序的一些工具。

学习应用程序架构别急着一头扎进开发的海洋里,理解Android应用程序架构是很重要的。

如果你不学一下,你设计出来的游戏在线下将很难调试。

你将需要理解Applications、Activities、Intents以及它们怎样相互联系。

Google提供了很多有用的架构信息。

真正重要的是要理解为什么你的游戏需要多于一个的Activity,以及什么才是设计一个有良好用户体验的游戏。

要理解这些,首先要了解什么是Activity生命周期。

学习Activity生命周期Activity生命周期由Android操作系统来管理。

你的activity创建、恢复、暂停、销毁都受操作系统的支配。

正确处理这些事件是很重要的,这样应用程序才能表现良好,做用户认为正确的事。

在你设计你的游戏之前了解所有这些是如何工作的是件好事,因为以后你可以为自己节省调试时间和昂贵的重新设计时间。

对大多数应用来说,默认的设置将工作正常,但对于游戏,你可能需要考虑将SingleInstance标志打开。

当设置为默认时,Android在它认为合适时会创建activity的新实例。

对于游戏来说,你可能只需要一个游戏activity的实例。

主循环根据你写的游戏的类型,你可能需要也可能不需要一个主循环。

如果你的游戏不依赖于时间或者它仅仅对用户所做的加以回应,并且不做任何视觉上的改变,永远等待着用户的输入,那么你就不需要主循环。

如果你写的是动作类游戏或者带有动画、定时器或任何自动操作的游戏,你应该认真考虑下使用主循环。

游戏的主循环以一个特定的顺序通常尽可能多的在每秒钟内“滴答”提醒子系统运行。

你的主循环需要在它自己的线程里运行,原因是Android有一个主用户界面线程,如果你不运行自己的线程,用户界面线程将会被你的游戏所阻塞,这会导致Android操作系统无法正常的更新任务。

执行的顺序通常如下:状态,输入,人工智能,物理,动画,声音,录像。

更新状态意思是管理状态转换,例如游戏的结束、人物的选择或下一个级别。

很多时候你需要在某个状态上等上几秒钟,而状态管理应该处理这种延迟,并且在时间过了之后设置成下一个状态。

输入是指用户按下的任何键、对于滚动条的移动或者用户的触摸。

在处理物理之前处理这些是很重要的,因为很多时候输入会影响到物理层,因而首先处理输入将会使游戏的反应更加良好。

在Android里,输入事件从主用户界面线程而来,因此你必须写代码将输入放入缓冲区,这样你的主循环可以在需要的时刻就从缓冲区里取到它。

这并非难事。

首先为下一个用户输入定义一个域,然后将onKeyPressed或onTouchEvent函数设为接到一个用户动作就放到那个域里,有这两步就够了。

如果对于给定游戏的状态,这是一个合法的输入操作,那么所有输入需要在那一刻做的更新操作都已经定下来了,剩下来就让物理去关心怎样响应输入吧。

java代码: public void run() {while (isRunning) {while (isPaused && isRunning) {sleep(100);}update();}}private void update() {updateState();updateInput();updateAI();updatePhysics();updateAnimations();updateSound();updateVideo();} 复制代码 3D还是2D?在开始写游戏之前,你要决定是做3D的还是2D的。

2D游戏有一个低得多的学习曲线,一般更容易获得良好的性能。

3D游戏需要更深入的数学技能,并且如果你不在意的话会有性能问题产生。

如果你打算画比方框和圆圈更复杂的图形,还需要会使用3D Studio和Maya那样的建模工具。

Android支持OpenGL用来3D编程,并且在OpenGL方面有很多很好的教程可供学习。

建立简单、高质量的方法上手时,要确保你整个游戏不要就用一个庞大而冗长的方法。

如果你遵循我上面描述的主循环模式,这将相当简单。

每个你写的方法应当完成一个非常特定的任务,并且它就应该无差错地那样做。

举例来说,如果你需要洗一副纸牌,你应该写一个“shuffleCards”的方法,并且该方法就应该只做这一件事。

这是一个适用于任何软件开发的编码实践,但对于游戏开发来说这尤为重要。

在一个有状态的、实时的系统里,调试将变得非常困难。

使你的方法尽量的小,一般的经验法则是每个方法有且仅有一个目的(译者注:完成且仅完成一个功能)。

如果你要为一个场景用编程方式画一个背景,你可能需要一个叫做“drawBackground…

请问开发手机游戏需要什么软件?

首先你有编程基础是再好不过的了。

手机游戏开发的平台是JME,一般不会用到C++。

当然学过C++的更好。

你学的可能是JEE,所以你一定要把JME好好学一下,重点是MIDlet,CANVAS,RecordStore。

此外MIDP1.0和2.0的特性要搞清楚,如果做和网络有关的还要学习MIDP网络编程。

掌握这些就基本上门什么问题了,学的不多,对于一个会C++/JEE的人来说,应该可以在1个月左右学完。

和其他语言一样,JME关键是要多练,自己试着开发几个小游戏出来是不错的练习办法,可以找出你学习上的不足点。

有条件的话,做出来的游戏应该拿到真机上运行,因为在模拟器上运行和真机有区别。

如果是独立开发手游,那么还要掌握一些基本的软件,如PhotoShop,Mappy,和简单的声效处理。

另外有需求的话可以学学JTWI,特别是Mobile 3D Graphics(M3G)技术,这是以后发展的趋势(由于本人对这块很薄弱,所以不能误导你,就不多说了)。

总之,你就再需要学JME和多练习,就够了。

PS.一般来说JME工程师比JSE和JEE的待遇要好一些。

而且从事游戏行业的上班玩游戏不会被骂。

如果哪天你闲着无聊和同事聊天聊的太嚣张被BOSS看见了,他第一句应该是说“有闲功夫多玩玩游戏,闲聊什么天!。

” 手机游戏制作 全球手机顶尖游戏3d motoracer 制作全揭密 图文_吴刚 北京数位红软件应用技术有限公司执行董事 林志强 数位红nightmare ii首席三维美术设计师 王科 数位红motoracer3d首席三维美术设计师 3d motoracer 是数位红公司开发的一款针对nokia s60设备及sony ericsson p800 (uiq)的3d游戏,该游戏上市几个月来,已经成为全球最畅销的nokia s60、p800游戏应用前三名之一。

本文就是对3d motoracer 的开发过程进行大致的介绍。

i. 游戏引擎的准备 在制作游戏之前,必须有一套经过长期测试并且适用的游戏引擎。

数位红用了两年的时间总结开发出一套基于移动设备的游戏引擎:dragon bone game engine for mobile phone(龙骨),他可以支持目前大部分的高端移动设备,它不仅可以使程序开发人员及游戏项目节省了大量的时间,另外还可以让美术人员最直观的看到其设计效果。

它最大的价值就是可以使开发人员的一套代码在不需要改动程序的情况下编译运行在不同设备平台上(改动不超过20%)。

目前数位红及其他公司已经使用它开发游戏超过了30款。

引擎提供了非常完善的9个模块与3个增强模块,可以完全满足各类游戏开发的需要。

游戏引擎可以直接嵌入到开发者的程序中,不需要额外的支持程序即可使所开发的游戏独立运行。

游戏引擎简单、易用,编译后体积很小,占用内存也很小,可以节省玩家的内存空间及无线下载费用。

基本引擎包含9个模块,引擎函数界面提供了类似windows的使用模式: 1、 文件操作模块:提供类似标准c的fopen,fclose等函数。

2、 内存管理模块 3、 2d图形图象模块 4、 对话框模块 5、 sms操作模块:可以在程序内部对sms的收发进行截获处理。

6、 加密模块:提供识别使用设备的imei功能,用于软件的加密目的。

7、 声音模块 8、 资源打包及压缩模块:可是使最后发售的软件包体积变小,尽量少的占用用户的内存空间。

9、 常用函数:如字符串操作等函数。

10、例子:提供一套完整游戏magicline的源程序。

引擎增强模块构成 其增强部分,包含三个模块: 1、 实时3d增强模块 2、 声音增强模块 3、 图形文件增强模块 ii. 正式开发的前期工作 a. 开发工具的准备 在很多人看来,手机游戏还是一种很新鲜时尚的玩意儿,所以,谈起手机游戏的时候难免有种莫测高深的感觉。

其实,手机游戏的整个制作过程十分简单。

从某种角度而言,它是一种传统的回归,同时也是新旧技术的相互融合。

最常用的开发工具有vc++,j builder及codewarrior,在设计工具上则更是和普通的pc游戏制作软件没有大的区别。

有的设计人员更愿意使用“骨灰级”的二维设计工具dp,也有人愿意用3dmax、maya建模之后再进行二维修改,当然所有这些方法都要根据游戏的最终设定来决定。

我们在做java游戏的时,一般都是采用像素级的二维绘制完成图片,即逐个像素点的完成。

但在制作pda等类似设备的游戏时,就会采用3dmax或者maya建立模型,渲染后再修整。

在设计过程中,我们也与大多数游戏公司一样使用了maya、3dmax、photoshop、painter等工具。

b. 确定游戏的各项参数及目标设备 这要求程序人员能给出准确的图片限制大小,即所有图片允许美工占用多少空间。

由于手机游戏的制作受数据量的限制很大,所以我们在设计游戏时,经常为减少1k空间大小而大伤脑筋。

另外,就是需要准确了解该手机允许的色彩数、分辨率、整屏刷新率,其实这也是对游戏引擎的一种测试。

以motoracer 3d为例,我们设想使其运行在nokia 9210、nokia 7650/3650、sony ericsson p800、pocket pc平台上。

在数位红,由于我们拥有了自主开发引擎dragon bone game engine for mobile phone,游戏引擎是跨平台的,所以这一步骤我们就省去了不少时间。

我们以nokia 7650/3650为最初调试蓝本,原因是在这些设备中,nokia 7650/3650的速度相对较慢,屏幕尺寸也相对…

做安卓平台游戏开发需要学什么?

在瑭锦Tanjurd要学Android游戏编程 游戏是Android应用商店中的一个大分类,也是智能手机的一大亮点。

需要学习SurfaceView、动画绘制、图形图像的碰撞和检测、地图的设计、数据存储、传感器编程、网络编程、多媒体编程、事件处理等等的回顾,编写2D游戏。

通过对OpenGL3D内容的介绍,了解在Android上开发3D游戏的基本技能。

学习游戏引擎libgdx,了解游戏引擎的用法。

请问android上开发游戏,需要哪些知识?主要是用什么控件什么?

最近也在研究那个,参考书是:蓝宝书OpenGL ES 2.0 Programming Guide,随书的代码在osc有部分下的,和在opengl官网下的GLSL_ES_Specification_1.0.17,说实话现在android上大型3D游戏和3DMMRPG都是C++写的,java不是不好,内存管理是硬伤,写惯c的对那种内存傻瓜式回收非常不习惯。

推荐看的开源源代码是orge,cocos2d,分层做的很好,哥最近也在看上面的源代码。

安卓游戏开发,有没有好的书推介呢?谢谢

Android游戏开发前期也是要学java的,游戏开发和应用开发是两个不同的领域,如果是应用开发,那么现在比较通用的解决方案是appCan、HBuilder这样的HTML5+JS跨平台解决方案,中小型公司大多用这样的。

原生开发的话用JAVA开发,使用Eclipse工具。

游戏开发的话,必须是用游戏引擎解决的,原生java开发太困难,2D游戏用cocos2dx,3D游戏用Unity3D是比较多的。

其中cocos2dx使用C++语言,Unity3D使用C#语言,都是跨平台的,也就是可以同时发布至IOS。

学android游戏开发,还需要学习哪几种语言。

一、需要学习的语言JAVA, eclipse,如:JAVA基本数据类型及其特点、JAVA分支语句和循环语句的使用、类和对象的创建和使用方法、函数的使用、抽象类和接口、继承和实现、对象的多态性、包和访问权限、异常的处理、类集框架、eclipse的基本用法等等。

只有有了一定的JAVA基础,才能更好地学习高层次的安卓技术。

二、建议学习的过程1、Android学前准备 Java语言基础;Java For Android;Eclipse IDE使用技巧;Android编码规范;SVN和GitHub的使用。

2、Android基础 开发环境搭建和配置;Android的面孔-Activity;简单了解Android程序制作;Android基础UI组件;项目一:和基础UI相关的项目。

3、Android进阶 Android Service;Android Broadcast;Android 存储及数据操作 ;Android ContentProvider;Android 多线程及异步任务;Android 网络编程;Android 主题动画;高级UI组件之fragment;Android 高级UI组件;项目二:商业级别的项目。

4、Android高级应用 Android Camera & Recorder;Android 多媒体;Android 感应器 Sensor;Android 蓝牙 Bluetooth ;Android 社会化分享;Android 定位 LBS;Android 社交接口;Android 消息推送;Android NDK初步;Android 电话与短信应用;Android Launcher & widget。

5、应用部署与发布 应用部署与发布。

Android应用开发 和游戏开发 在程序上 有什么不同

应用开发与游戏开发最大的区别是,应用开发不需要去了解android中View的绘制过程View的实现等,而游戏中会大量使用View 或者 SurfaceView 人物,精灵都需要用代码去控制以下是游戏开发中的总结:1. 首先应该知道android游戏开发的一些基本框架。

Android游戏开发中首先是View类开发框架。

在Android游戏开发中,任何一个View类都只需要重写onDraw方法来实现界面显示。

游戏的核心是不断的绘图和刷新界面,在 Android中最常用的方法是利用Handler来实现UI线程的更新,也可以直接在run方法中使用postInvalidate()方法在线程中更新界面。

其次,是SurfaceView类开发框架。

2. 游戏开发中常用到的基本类Android游戏开发中通过graphics类来显示2D图形,graphics中包括了Canvas(画布)、Paint(画笔)、Color(颜色)、Bitmap(图片)等常用类。

例如绘制字符串用canvas类的drawText方法来实现,drawRect用来绘制矩形,设置透明度可以用paint类的setAlpha,同时 Color.rgb方法可以直接获得整形数值代表的颜色。

此外在绘制图片时应该首先从资源文件中装载图片,然后才能绘制到屏幕上去。

3. 关于自适应屏幕分辨率的问题Android游戏开发中每款手机分辨率的不同注定是程序员开发游戏必须考虑的问题,怎样才能写一个程序而达到可以在不同分辨率的机子上运行良好,这将是决定一个游戏好坏的重要因素之一。

在游戏资源res下有三个和图片存储有关的文件夹:drawable-hdpi、drawable-mdpi、drawable-ldpi。

4. 如何锁定屏幕是横屏还是竖屏一款游戏通常不会设计成横屏竖屏都可玩,会固定成横屏或竖屏。

Android游戏开发中只需在AndroidManifest.xml里面配置一下就可以了,加入这一行android:screenOrientation="landscape" 例如(landscape是横向,portrait是纵向)。

5. view与view之间的跳转Android游戏开发中一个游戏不会只有一个view,比如欢迎动画,游戏画面,菜单页面等等,如何实现它们之间的跳转,这里有一个方法,就是用Handler类实现。

970797游戏攻略网 » 安卓 游戏 开发

赞 (0)