想学安卓游戏开发请问需要掌握什么
没办法只能用图片的方式回答你了
学习安卓开发,要先学什么
第一阶段:Java面向对象编程1.Java基本数据类型与表达式,分支循环。
2.String和StringBuffer的使用、正则表达式。
3.面向对象的抽象,封装,继承,多态,类与对象,对象初始化和回收;构造函数、this关键字、方法和方法的参数传递过程、static关键字、内部类,Java的垃极回收机制,Javadoc介绍。
4.对象实例化过程、方法的覆盖、final关键字、抽象类、接口、继承的优点和缺点剖析;对象的多态性:子类和父类之间的转换、抽象类和接口在多态中的应用、多态带来的好处。
5.Java异常处理,异常的机制原理。
6.常用的设计模式:Singleton、Template、Strategy模式。
7.JavaAPI介绍:种基本数据类型包装类,System和Runtime类,Date和DateFomat类等。
8.Java集合介绍:Collection、Set、List、ArrayList、Vector、LinkedList、Hashset、TreeSet、Map、HashMap、TreeMap、Iterator、Enumeration等常用集合类API。
9.Java I/O输入输出流:File和FileRandomAccess类,字节流InputStream和OutputStream,字符流Reader和Writer,以及相应实现类,IO性能分析,字节和字符的转化流,包装流的概念,以及常用包装类,计算机编码。
10.Java高级特性:反射、代理和泛型。
11.多线程原理:如何在程序中创建多线程(Thread、Runnable),线程安全问题,线程的同步,线程之间的通讯、死锁。
12.Socket网络编程。
第二阶段:Java Web开发1.Java解析XML文件DOM4J。
2.MySql数据库的应用、多表连接查询的应用。
3.Jsp和Servlet应用。
4.Http协议解析。
5.Tomcat服务器的应用配置。
6.WebService服务配置应用。
第三阶段:android UI编程1、Android开发环境搭建:Android介绍,Android开发环境搭建,第一个Android应用程序,Android应用程序目录结构。
2、Android初级控件的使用:TextView控件的使用Button控件的使用方法EditText控件的使用方法ImageView的使用方法RadioButton的使用方法Checkbox的使用方法Menu的使用方法3、Android高级控件的使用:Autocompletion的使用方法ListView的使用方法GridView的使用方法Adapter的使用方法Spinner的使用方法Gallary的使用方法ScrollView的使用方法4、对话框与菜单的使用:Dialog的基本概念AlertDialog的使用方法DatePickerDialog的使用方法Menu的使用方法自定义Menu的实现方法5、控件的布局方法:线性布局的使用方法相对布局的使用方法表格布局的使用方法6、多Acitivity管理:AndroidManifest.xml文件的作用 Intent的使用方法使用Intent传递数据的方法启动Activity的方法IntentFilter的使用方法Activity Group的使用方法7、自定义控件实现方法:自定义ListView的实现方法可折叠ListView的使用方法自定义Adapter的实现方法自定义View的实现方法动态控件布局的上实现方法第四阶段:android网络编程与数据存储1、基于Android平台的HTTP通讯:Http协议回顾Apache Commons 工具包介绍使用Get方法向服务器提交数据的方法解析服务器响应数据的方法使用POST方法向服务器提交数据的实现方法向服务器提交非文本数据的实现方法使用Http协议实现多线程下载使用Http协议实现断点续传2、Android数据存储技术:SQLite3数据库简介SQL语句回顾SQLite3编程接口介绍SQLite3事务管理SQLite3游标使用方法SQLite3性能分析访问SDCard的方法访问SharedPreferences的方法3、ContentProvider使用方法:ContentProvider实现共享数据、URI的解析与UriMatcher、ContentUris的使用、使用ContentResolver操作ContentProvider、ContentProvider的监听Android当中的异步操作:Handler的使用方法;异步任务的基本概念;AsyncTask的使用方法。
第五阶段:android手机硬件管理1、地图及定位技术:GPS简介;LocationManager的使用方法;在Google Map上添加标记的方法;查询某地附近建筑的方法;使用Google Map实现点对点导航。
2、传感器使用方法:方向、加速度(重力)、光线、磁场、距离、温度等传感器的使用。
3、近场通信技术:NFC技术简介;NFC技术是用场景介绍;NFC技术实现方法。
4、媒体管理技术:MediaPlayer的使用方法。
5、触摸屏技术:手势识别;多点触摸技术。
第六阶段:Android图形编程技术1、图形处理基础:2D图形编程基础;2、点、线、面等基本图形元素绘制方法;3、Android动画框架简介;4、位移动画的实现方法;5、淡入淡出动画的实现方法;6、旋转动画的实现方法;7、Matrix的使用方法。
第七阶段:Android游戏开发1、Android游戏开发:Android游戏开发概述;2、SurfaceView的使用方法;3、物理小球技术;4、碰撞检测技术;5、图片、文字和背景音乐等资源的使用方法;6、游戏引擎基础概念;7、Cocoa2d-Android引擎使用方法;8、OpenGL ES使用方法。
学手机游戏开发需要学什么
展开全部 首先你有编程基础是再好不过的了。
手机游戏开发的平台是JME,一般不会用到C++。
当然学过C++的更好。
你学的可能是JEE,所以你一定要把JME好好学一下,重点是MIDlet,CANVAS,RecordStore。
此外MIDP1.0和2.0的特性要搞清楚,如果做和网络有关的还要学习MIDP网络编程。
掌握这些就基本上门什么问题了,学的不多,对于一个会C++/JEE的人来说,应该可以在1个月左右学完。
和其他语言一样,JME关键是要多练,自己试着开发几个小游戏出来是不错的练习办法,可以找出你学习上的不足点。
有条件的话,做出来的游戏应该拿到真机上运行,因为在模拟器上运行和真机有区别。
如果是独立开发手游,那么还要掌握一些基本的软件,如PhotoShop,Mappy,和简单的声效处理。
扩展资料 想要成为手机游戏开发者吗?你的目标可能是从应用商店中赚取大量金钱,也可能只是为了寻找新的挑战。
无论你的目的是什么,当设计应用时,可能需要考虑到代码层面之外的某些东西。
在你开始进行开发之前,你需要弄清楚那些必须解决的问题。
谁会使用这些应用?他们会在何处使用?他们会如何使用?如果他们同时参与其他的活动,会对应用的使用有何影响? 得出这些问题的答案后,将它们写下来粘在墙上。
如果你在做决定时遇到困难,可以回头看看这些答案,它们会引导你选择正确的方向。
1、选择平台 平台的选择取决于你构建的应用类型和用户群体。
用户数量最多的平台是网页。
如果你想要出售应用,那么可以将它投放到应用商店中。
如果你需要访问Camera或其他设备的特殊API,那么你可以选择本土化路径或使用AIR、PhoneGap和Titanium之类的包装器。
不存在最完美的平台。
影响平台选择的因素很多,你需要从上述问题的答案中寻找适当的平台。
2、你不会一夜暴富 许多人将当前App Store的状况比作19世纪40年代末的加州淘金热。
这种想法固然极具吸引力,但却是对行业的误解。
我不推荐仅仅为了赚钱而制作手机应用,通过这种方法来致富还不如直接去赌场。
但是,我们都曾经听到过媒体报道的成功故事。
我最喜欢的故事是,加拿大开发者Matt Rix花数个月晚上的闲暇时间制作出的游戏最终超越《愤怒的小鸟》登上榜单前10名,这款游戏便是《Trainyard》。
面对当前App Store和Android Market的数十万竞争者,获得用户关注并非易事。
3、阅读HIG 可供你选择的任何平台都有Human Interface Guidelines(游戏邦注:简称“HIG”)文件。
它告诉你如何在目标平台上创建用户界面。
在这个方面,每个平台都有所不同,你应当有一定的了解。
4、将功能与趣味性融合 构建实用应用并不意味着它必须显得乏味无趣。
2009年,在我们的《Flash on the Beach》会议指导中,我们使用了iOS组件的标准设置,但是设计出完全不同的外观和感觉。
我们想要让应用更有特色,但同时不会让用户感到困惑。
我最喜欢的iPhone摄影应用是《Camera+》,它的按键和名称看起来很普通,但是有可爱的自定义字体。
5、挑战传统 这个方面最著名的例子便是“拉动更新”。
你应该知道我所说的是什么功能。
Loren Brichter在《Tweetie 2》中将这种设计概念呈现给全世界,自那时起便如同野火般迅速传播,并蔓延至其他手机操作系统上。
想法很简单,你将列表拉动到某个点,放开后就会发生某些事情,比如重新加载Twitter等数据。
尽管乍看之下显得很普通,但是一旦你理解了它的原理,就会认同这是个天才般的发明。
我们可以在Gowalla、Facebook、Google+、Tweetbot、foursquare、oink和Fribi中看到“拉动更新”。
6、行为差异 在开发手机应用时,你的产品需要在30秒到1分钟的时间内吸引用户。
你的应用应当设计成,我们一看到应用就愿意使用。
这意味着不要使用复杂的界面,只需要给用户提供细节内容,是吗? 可以说是,也可以说不是。
有时,我坐在沙发上看电视,那时平板电脑就会受到限制。
有时,我又会需要平板电脑和应用。
用户在不同情况下对应用有不同的需求。
所以,要弄清楚用户有可能在哪些地方使用应用,他们当时可能会在做什么事情,根据这些问题的答案进行相应的设计。
7、内容的差异性 简单就是良好,但简单并不意味着愚蠢,我们需要专注于应用的核心功能,编写有效且与该功能相关的复制应用。
对其他应用进行微妙的复制是件非常困难的事情。
8、注意操作便捷性 我的手指比较粗大,所需的最小点击区域为44像素。
任何小于这个尺寸的图标都有可能造成应用使用过于困难。
我们在《FOTB 2010》应用上犯过这方面的错误。
尽管后退按键的高度只有10个像素,但是我们设计了很大的点击区域,使操作更加容易。
这样做会产生什么问题呢?这样的按键在屏幕上几乎看不到。
不要犯这样的错误! 9、独立的分辨率 如果你希望自己的应用能够与各种设备兼容,很可能需要对你的应用进行缩放,这样才能更好地在多种设备上呈现图片。
实现这个目标最简答的方法是,让设计师自开发一开始就以矢量形式来创建美术图像。
这样,当你需要以512X512的形式在iTunes上呈现图标时,就不会产生问题。
10、设计漂亮的图标 这个古老的真理目...
做安卓软件开发需要学习什么技术?
Android的开发技术很多,在开始学习的时候不可能一次性全部学会,也没有必要一开始都全部学会,但是有些技术是非常常用的,需要在开始时打好基础,这些技术时:1、Activity生命周期虽然Android中有四大组件,但是不可否认Activity是最常用的。
所以熟练掌握Android的生命周期是必须的。
其实生命周期就是记住 Activity的那些方法在什么时候被系统调用,这样才可以把对应的逻辑代码写到合适的方法内部去。
至于服务和广播组件可以稍微缓一下,到实际使用的时候再学习都可以。
2、界面开发技术界面开发是一种基本的技术,几乎所有的程序里面都需要用到。
在Android开发中界面开发分为3种:1)使用xml文件布局使用xml首先对于界面进行布局,然后在Activity里面进行引用是最常见的应用软件开发技术,这种方式使用的最大,需要学习的内容也最多。
学习时需要熟悉:a)五种Layout布局深刻理解五种布局组织控件的方式是一个基本的基础,这样你才可以在实际的界面中灵活的使用每种布局结构,构造出需要的界面。
b)常用控件控件有很多,至少要知道每种控件是做什么的,至于里面的特定参数和方法可以学要的时候再去查c)界面美华系统的控件很多时候无法满足要求,需要通过添加背景更换图片等进行美化,要熟悉每种控件如何去美华。
掌握了上面的内容,通过布局的嵌套就可以制作出各种界面,如果在熟悉include的使用就可以减少xml的重复,方便后期的修改和维护了。
2)使用代码动态创建有些时候需要动态的创建一些布局和控件,这个就需要使用LayoutInflater去创建一些动态的界面了。
3)自己绘制界面游戏中常用,继承SurfaceView自己绘制。
3、数据存储技术Android中的数据存储方式有3种:1)SharedPrefereneces存储对于简单的数据可以使用该方式存储,以键值对的方式存储一些基本的数据。
2)文件存储将数据以文件的形式存储,可以是手机自身的存储也可以是SD卡,文件的数据格式自己定义。
3)SQLite数据库存储使用标准SQL语句进行操作,复杂数据的首选。
4、网络编程现在的Android程序不需要联网的已经不多了。
所以网络编程也是必须的,一般的公司都会封装有自己的联网结构,但是基本的联网还是要熟悉。
1)HTTP联网使用Http联网+Json数据格式是现在很多客户端的首选。
2)Socket联网至于蓝牙等连接方式则可以在项目需要的时候学习。
对于手机的系统功能,如拨打电话、发送短信、读取系统参数等则可以根据需要在学习,不麻烦的。
其次,手机软件相关Android开发不同于普通的电脑软件开发,需要了解手机的操作习惯,知道手机的屏幕不大、内存有限,电池有限等,在实际开发和设计时尽量考虑。
做游戏开发需要学什么?
我作为一个游戏程序员在这个行业干了6年,其实你真正要会的东西是C++, 另外你还要对计算机的内存结构,数据编排管理方式,也就是我们说的数据结构掌握透彻。
Android只是一个程序的载体平台,你将来还有可能为iphone开发,所以这种东西你用到的时候通过sdk文档去了解一下它的规则就可以了。
cocos2dx你可以通过一个实例项目去掌握它,用它来做一块你进入这个行业的敲门砖还是可以的。
毕竟现在用这个的公司是非常多,都想招个熟练工嘛。
粒子系统和OpenGL. 等你学了cocos2dx之后,如果对他背后的东西感兴趣可以研究一下,有百益而无一害。
数据库无非就是一些接口和查询语句,对于一个程序员来说,应该要学。
游戏脚本你可以学一个,比如lua, 不要纠结它的语法和形式,要思考为什么用脚本,用脚本有什么好处。
大部分游戏引擎都有自己的脚本语言,你能理解他存在的意义遇到任何脚本语言就都没有问题了。
物理引擎我建议你也学一下,虽然我见过的很多游戏程序员根本不懂物理引擎,也能做出很优秀的游戏。
但是当你深入研究了物理引擎,你就会觉得你游戏程序员的路还很长,就不会因此而满足现状。
最后给你一点忠告,学好数据结构很重要,做游戏的都说游戏的灵魂是程序,而程序的灵魂是数据!能创造出完美灵魂的人才是一个完美的游戏程序员。
安卓手机游戏开发需要学什么?
展开全部 在瑭锦Tanjurd要学Android游戏编程 游戏是Android应用商店中的一个大分类,也是智能手机的一大亮点。
需要学习SurfaceView、动画绘制、图形图像的碰撞和检测、地图的设计、数据存储、传感器编程、网络编程、多媒体编程、事件处理等等的回顾,编写2D游戏。
通过对OpenGL3D内容的介绍,了解在Android上开发3D游戏的基本技能。
学习游戏引擎libgdx,了解游戏引擎的用法。
...
学游戏开发用哪个软件最好?
游戏开发指利用计算机编程语言,如C编程语言、C++、java等,编写计算机、手机或游戏机上的游戏。
目前流行的游戏开发语言为C++编程语言,目前流行的游戏开发接口为DirectX9.0,还有OpenGL、SDL(Simple DirectMedia Layer)等。
现在手机上玩的游戏分为Android与IOS两种不同平台,分别是用eclipse/MyEclipse和xcode。
现在也流行一些跨平台的编程引擎,例如cocos2d-x、unity 3D等。
接下来,再看看游戏开发的课程,游戏开发的课程除了理论知识还包括软件的操作。
C++程序基础:通过学习C++语言,奠定编程基础。
使用VS.net2005编译工具,高效构建代码。
算法与数据结构:通过学习算法与数据结构的基本概念,了解常用的数据结构及相关的抽象数据定义,认识计算机求解的基本思路与方法。
Win32程序入门:通过API和MFC的学习,熟悉Windows环境下程序设计基本方法。
通过使用DirectX绘制2D图形。
游戏数学和智能应用:游戏中的坐标系,矢量、矩阵,几何碰撞,物理模拟,人工智能与寻路算法。
2D游戏技术与应用:2D 游戏技术概论,游戏地图系统,GUI 系统,战斗系统设计,任务系统优秀的声音引擎 BASS,Cocos2D-X 引擎,Box2D 物理引擎。
游戏开发的常用软件有C++、DirectX、Box2D、Cocos2d-x、Unity,不能说哪款最好用,因为这是游戏开发过程中都要用到的软件,必须都精通。
C++是在C语言的基础上开发的一种通用编程语言,应用广泛。
DirectX,(Direct eXtension,简称DX)是由微软公司创建的多媒体编程接口。
Box2D是一个用于模拟2D刚体物体的C++引擎。
zlib许可是一个自由软件授权协议,但并非copyleft。
Cocos2d-x是一个开源的移动2D游戏框架,MIT许可证下发布的。
这是一个C++ Cocos2d-iPhone项目的版本。
Unity是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。
android 3d游戏开发 所需要的软件
展开全部 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”的方法,并且该方法就应该只做这一件事。
这是一个适用于任何软件开发的编码实践,但对于游戏开发来说这尤为重要。
在一个有状态的、实时的系统里,调试将变得非常困难。
使你的方法尽量的小,一般的经验法则是每个方法有且仅有一个目的(译者注:完成且仅完成一个功能)。
如果你要为一个场景用编程方式画一个...
转载请注明出处51数据库 » android游戏开发需要学什么软件