android开发学习路线游戏开发一般要学习多久?

当前访客身份:游客 [
当前位置:
我个人分析认为:
1.android是开源的,虽然2.3版本后,说不开了。但是就中国市场来说,假设一个山寨平板电脑生产厂家,是否采用android比较靠谱呢?
2.就长期来说,我以前是学C#的。但据我所经历的年份里,总是开源的JAVA比较吃香。使我觉得“公司单干”的语言不适合长期工作。偏论再就如C++还是比较好的。
共有8个评论
<span class="a_vote_num" id="a_vote_num_
目前肯定是 iphone 的开发待遇高
<span class="a_vote_num" id="a_vote_num_
呵呵,红薯大哥的回答很斩钉截铁呀!
<span class="a_vote_num" id="a_vote_num_
引用来自“红薯”的答案目前肯定是 iphone 的开发待遇高
<span class="a_vote_num" id="a_vote_num_
如果想着工资高,就不要来当程序猿了!
<span class="a_vote_num" id="a_vote_num_
没有人会和钱过不去,娘子、房子、车子、以后的儿子不都需要票子吗?
<span class="a_vote_num" id="a_vote_num_
自己顶?求指教!
<span class="a_vote_num" id="a_vote_num_
如果希望依靠app store/market等途径售卖app以及iap,iOS更好些,正版用户多些。
如果做免费,靠广告赚钱,则两个平台差不多。
成本来看:android的投入其实也不小,因为你要买很多不同品牌的手机来测试兼容性(最起码三星、htc、moto、还有国内的比较大的品牌,因为各品牌os实现有所区别,所以起码每个品牌各来1个,还要考虑覆盖高端配置、低端配置、超高分辨率、高分辨率、中分辨率、低分辨率、翻盖、滑盖,没有十几台手机都不好意思说自己是做android开发的,要是算上平板,更是不得了了),估计25000是比较保守的,还不算你开发用的PC。ios简单些,基本上iphone 3GS、iphone4、iPad、iPad2就够了(iPod touch兼容性上是不会有问题的,性能也是可参考iphone的),再加台macbook,估计22000也就够了。
<span class="a_vote_num" id="a_vote_num_
先装好ios再说吧,至少安卓的开发环境我这样的菜鸟都能配出来的~
更多开发者职位上
有什么技术问题吗?
类似的话题收藏成功!
您可在用户中心,查看
培训方式:
&&&雨花区韶山南路443号(中南林业科技大学
(电话归属地:长沙)
安卓游戏开发入门难不难?没有接触过安卓的,学好要多久时间呢?长沙极客营IT梦想学院开设安卓游戏开发零基础培训班,那么长沙极客营IT梦想学院安卓游戏开发零基础培训班适合哪些人学呢?
Android占据移动操作系统市场58.8%,在中国市场占有率为68.4%,可以说Android火了,并且呈现出一种不可阻挡地态势。而随着Android浪潮席卷市场,学习Android也随之流行,并引发了新一轮IT培训选择——Android培训,但是在此,欧柏泰克软件学院的老师却要提醒大家,安卓培训虽然好,但是不要忘记先打好基础,而对于Android安卓游戏开发零基础培训班的选择也必须要特别注意。
哪里有好的安卓游戏开发零基础培训班培训机构?选择一个良好的培训机构,我们可以从以下几个方面着手:
长沙极客营IT梦想学院一是就业为导向的, 为增强自身的竞争力,一些有实力的Android培训机构都在企业内部设立了就业部门,专门负责毕业学员的就业推荐工作。
长沙极客营IT梦想学院二是以开发为目的,“学习计算机语言”只能掌握语言的基本语法、具有初步的编程能力,而“项目实训”就比纯粹进行计算机语言学习更能深刻地理解和掌握语言的语法和特征。  
  长沙极客营IT梦想学院三是Android培训课程的标准化,除了要求整个体系使用统一的培训教材、课件之外,在教学方法、教师队伍建设、讲课内容等方面,都要求做到统一,甚至细致到某一堂课中某一节内容的讲解所用时间,都要有统一的标准和规范。
 长沙极客营IT梦想学院免费试听申请入学签订就业协议,可就业后付款,学员平均工资达到7K+;咨询电话:9 咨询QQ:长沙极客营IT梦想学院地址:湖南省长沙市雨花区韶山南路443号(中南林业科技大学斜对面)
联系我时,请说是在列表网栏目上看到的,谢谢!
小贴士:安卓游戏开发入门难不难?没有接触过安卓的,学好要多久时间呢?信息由列表网网友发布,其真实性及合法性由发布人负责。列表网仅引用以供用户参考。详情请阅读列表网免责条款。
安卓游戏开发入门难不难?没有接触过安卓的,学好要多久时间呢? 相关广告
& 列表网&京ICP证100421号&京ICP备号-1&琼公网安备08您的举报已经提交成功,我们将尽快处理,谢谢!
看了你的问题补充,去澳大利亚最好!我有朋友最近移民去了那里,生活环境教育都很不错!
个人觉得很有发展前景,现在大部分人都用安卓系统。支持你去学
如果能帮到你,麻烦给好评,谢谢
大家还关注
(window.slotbydup=window.slotbydup || []).push({
id: '2081942',
container: s,
size: '1000,60',
display: 'inlay-fix'君,已阅读到文档的结尾了呢~~
安卓游戏开发&#x2d;&#x2d;Andr..
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
安卓游戏开发--Android最佳学习路线图[1]
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口Android游戏开发新手应准备的知识和技巧
如果你对开发Android平台游戏感兴趣,那么你需要了解很多东西。我开发过《Light Racer》、《Light Racer 3D》、《Antigen》、《Deadly Chambers》和《Wixel》,这些游戏在Android Market上都可以找到。在开发过程中,我学到了许多有关编写Android游戏的知识,我愿意同每个人分享。如果你有游戏开发经验,那么转向手机平台不会很困难。你只需要学习框架和API即可。如果你是游戏开发新手,我在这篇文章中列举了许多起步必须了解的知识。它们可以运用到许多不同类型的游戏中,包括动作、战略、模拟和解谜。
Android是个基于Java的环境。这对新开发者来说是个好消息,相对比C++来说,Java语言因其较为简单而广泛被人采用,成为目前手机开发的常 用语言,也是目前我自己使用的语言。Google在编写API和提供范例方面的工作做得很好。该公司提供了一个展示API几乎所有功能的范例,称为 “API Demos”。如果你熟悉Java而且已经使用过Eclipse,那么让你的首款应用成功运转应该是相当简单的事情。如果你此前从未接触过代码编写,那么 你需要先掌握很多知识才能继续前进,但是也不要因此灰心。如果你有些许开发经验,想要以C++开发跨平台游戏或表现出色的Android游戏,可以查看 BatteryTech,这是个我编写的目前用于游戏开发的平台。
android-development(from android-)
开发Android平台的首个步骤是获得Android SDK(游戏邦注:即软件开发工具包)。SDK包含核心库、模拟器、工具和代码范例。我强烈推荐使用Eclipse和Android Eclipse插件。如果你只面向Android平台,那么专门供Java Developers使用的Eclipse IDE是个很好的工具。如果这是你的首个Java开发项目,你可以下载整个Java SE Development Kit(游戏邦注:简称“JDK”),因为它包含你需要用于应用认证和部署的工具。
学习应用程序架构
理解Android应用程序架构也是件非常重要的事情。如果你不学习这个方面的内容,可能会使游戏完成后问题的修改变得很困难。你需要理解应用程序、活动、意图以及它们之间的相互联系。Google在架构方面已经提供了许多有价值的信息。真正重要的是,要理解游戏为什么需要包含不止一个活动以及这对设计良好用户体验的意义。我们接下来要探讨的就是活动生命周期。
学习活动生命周期
活动生命周期由Android操作系统管理。你的活动将根据操作系统的指令创建、回访、暂停和摧毁。正确处理这些事件对构建有着良好行为的应用程序非常重要,这样应用才能正确地满足用户的意图。在你开始设计游戏之前,有必要先知道所有这些内容的运转方式,这会减少你将来调试和重新设计的时间。对于多数应用程序来说,使用默认设置就可以了。但是对游戏来说,你可能需要考虑打开SingleInstance功能。当处在默认设置下时,Android会在合适的时候自动创建新活动实例。对于游戏来说,你可能只想要单个游戏活动实例。这也等于提示你需要如何来管理内容状态,但是对我来说,它解决了某些资源管理问题,所以应当考虑入列。
是否拥有主循环取决于你编写的游戏类型。如果你的游戏与时间无关,或者如果游戏只会对用户的行为做出反应,没有用户输入视觉场景就不会发生改变,那么你或许不需要主循环。如果你编写的是动作游戏或带有动画、计时器或其他自动运转内容的游戏,那么你应当认真考虑使用主循环。
游戏的主循环指以特定顺序运转子系统,通常会尽可能提升每秒主循环的次数。你的主循环需要在它自己的线程上运行。原因在于,Android有个主UI线程,如果主循环不在自己的线程上运行,那么UI线程就会受游戏影响,导致Android OS无法完成普通的更新任务。执行顺序通常是:状态、输入、AI、物理、动画、音效和视频。
更新状态意味着管理状态改变,比如游戏结束、角色选择或下个关卡。通常情况下,你需要在一个状态上等待数秒钟时间,状态管理的任务应当是处理这个延迟并设置时间过后的下个状态。
输入是指来自用户的任意按键、滚动或触碰。在处理物理前完成这个方面的内容是很重要的,因为输入往往会影响到物理效果,所以先处理输入会让游戏显得更为灵敏。在Android中,输入事件来自于主UI线程,所以你必须通过代码来缓冲输入,这样你的主循环才能适时将其捕获。这并不是个很困难的任务。所有需要做的就是为下次用户输入确定区域,用onKeyPressed或onTouchEvent将下次用户动作设置到该区域中。在特定游戏状态下,所有的有效输入都需要进行输入更新,让物理端处理针对该输入的响应问题。
AI更新类似于用户决定接下来要“按”的按键。学习如何编写AI不是这篇文章的主题,但基本想法是,AI将像用户那样按动按键。这也将被物理更新捕捉并做出响应。
物理更新可能是真正的物理,也可能不是。对于动作游戏而言,要点在于同时考虑上次更新时间、此次更新时间、用户输入和AI输入,决定游戏中所有内容的位置以及是否有碰撞发生。对于你可以看到对象抓取和滑动的游戏,物理更新还需要处理对象的互动或者让它下落到指定的位置。对于问答游戏,它还需要决定答案是否正确。或许你使用的是其他的名称,但是每款游戏的游戏引擎中都需要有处理上述内容的部分,在这篇文章中我将其称为“物理”。
动画并不只是在游戏中加入gif这么简单。你需要让游戏在恰当的时候播放每帧动画。但是,它也不像听起来那么难。要保持isDancing、danceFrame和lastDanceFrameTime等状态区域允许动画更新以决定是否转向下一帧。这就是动画更新所做的所有工作。真正负责呈现动画改变的是视频更新。
音效更新负责触发音效、暂停音效、改变音量和音调。通常在编写游戏时,音效更新会生成一连串字节传输给音效缓冲器,但是Android自行管理音效,所以针对游戏开发,你可以使用SoundPool或MediaPlayer。它们都有一点敏感,但是要知道,由于存在某些低层次的执行细节,小而低位速率的OGG也能产生最棒的运行表现和稳定性。
视频更新要考虑游戏状态、玩家位置、分数和状况等内容,在屏幕绘制所有内容。如果使用主循环,那么你可以考虑使用SurfaceView,进行“推送”绘制。如果使用其他视图,视图本身能够调用绘制运转,这样主循环就无需负责这项工作。SurfaceView能够提供最高的每秒帧数,最适合带有动画或在屏幕上有移动物体的游戏。视频更新应该做的工作是,获取游戏状态,并及时绘制在屏幕上。除此之外,其他的自动化内容最好由其他更新任务来完成。
以下是个代码范例:
public void run() {
while (isRunning) {
while (isPaused && isRunning) {
sleep(100);
private void update() {
updateState();
updateInput();
updateAI();
updatePhysics();
updateAnimations();
updateSound();
updateVideo();
3D还是2D?
在你开始开发游戏前,你需要决定是制作3D还是2D游戏。2D游戏要学习的内容较少,通常更容易获得良好的表现。3D游戏需要更多的深层次数学技能,如果不注意的话,可能会产生表现问题。如果你想要添加比方形和圆圈更加复杂的形状,那么无论选择3D或2D,都需要使用3D Studio和Maya等模型工具。Android支持使用OpenGL进行3D编程,网络上有许多很不错的OpenGL教程可供阅读。
构建简单且高质量方法
开发开始时,确保不要编写又大又长的方法。如果你采用我在上文中描述的主循环样式,这样得出的方法应当较为简单。你编写的每个方法都应当能够完成某项特定任务,而且不可发生错误。比如,如果你需要在游戏中洗牌,那么就应当编写名为“shuffleCards”的方法,而且这个方法就是用来完成洗牌这个动作。
这是个可用于所有软件开发的编程方法,但是在游戏开发中显得特别重要。在状态化的即时系统中,调试会变得非常困难。要保持方法简单轻巧,最好是保证每个方法只有1个目标。如果你需要为场景绘制背景,那么你可能需要名为“drawBackground”的方法。这样会让你的游戏开发变得像搭建方块一般,你可以随时根据自己的需要添加新方块,同时不会让代码变得难以理解。
效能是关键
运行效果是所有游戏遇到的主要问题。我们的目标是让游戏的反应速度尽可能快,游戏的运行看起来尽可能流畅。Canvas.drawLine等某些方法可能执行较慢。而且,在每帧的主画布上绘制全屏位图也会耗费大量时间。要让应用实现最好的表现,平衡这些动作就成了必要之举。确保对资源进行良好的管理,使用各种技巧,实现用最少的CPU完成任务。如果表现不好,即便是最棒的游戏也显得乏味无趣。通常情况下,人们不会对反应缓慢的应用抱有好感。
看看SDK中的《LunarLander》范例。它使用的是SurfaceView,这对需要每秒帧数达到最高值的游戏来说是个合适的视图。如果你想要制作3D游戏,可以看下GLSurfaceView。它利用了OpenGL设备初始化,提供渲染机制。对于《LightRacer》,我需要优化游戏中所有内容绘制的方法,否则帧率会相当低。我只在视图初始化时用位图绘制单次背景。轻轨的位图会随赛车手的移动而获得更新。这两个位图每帧都会绘制在画布上。这种技术能让游戏以可玩的流畅度运行。
如果可以的话,将位图大小设置为与在屏幕上绘制的意向大小相同。这样,就无需对位图进行缩放,从而节省了CPU的使用。
在整个游戏中使用一致性的位图配置(游戏邦注:如RGBA8888)。这可以节省用于转换不同格式的图像库CPU。
如果你决定开发3D游戏,但没有3D的相关知识,你可以先阅读一两本有关3D游戏编程的书籍,学习线性代数。最少,你必须理解点积、叉积、矢量、单位矢量、常数、矩阵和转换。我见过的阐述游戏相关数学内容的最棒书籍是《Mathematics for 3D Game Programming and Computer Graphics》。
保持音效容量较小且码率较低。加载的内容越少,加载的速度就越快,游戏使用的内存也就越少。
要用OGG作为音效格式,用PNG作为图像格式。
当活动结束后,确保关闭所有媒体播放器并移除所有资源。这将确保垃圾收集器能够获得所有东西,在游戏的两次开启间不会出现内存泄露问题。
加入Android Google小组,寻求社区的支持。社区中有许多人会帮助你解决许多问题。
此外,花时间对游戏进行重复测试,确保游戏中所有内容的运转都与你的预期相同。润色游戏是开发过程中最漫长和最艰难的阶段。如果你匆匆将游戏推向市场,它的表现可能会让你失望,你或许也会觉得自己的艰辛都付之东流。你不可能让100%的用户都喜欢你的游戏,但是你至少应当努力呈现最高质量的作品。
游戏邦注:本文发稿于日,所涉时间、事件和数据均以此为准。
Copyright (C) , All Rights Reserved.
版权所有 闽ICP备号
processed in 0.041 (s). 11 q(s)

我要回帖

更多关于 android开发学习 的文章

 

随机推荐