您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 手机/mobile开发 > 从零开始android游戏编程
从零开始OPhoneOPhoneOPhoneOPhone游戏编程作者:邢野时间:2009-9-25MSN:xingye(at)sohu.com目录前言.............................................................................................................................................3第一章搭建OPhone开发环境................................................................................................4第二章创建第一个OPhone程序HelloTank.........................................................................8第三章显示文字和图片.........................................................................................................15第四章响应用户事件.............................................................................................................27第五章小结——扫雷游戏的实现.........................................................................................33第六章SurfaceView动画.......................................................................................................36第七章精灵、帧动画与碰撞检测.........................................................................................43第八章地图的设计和实现.....................................................................................................59前言前言前言前言什么是OPhoneOPhoneOPhoneOPhoneOPhone是基于Linux、面向移动互联网的终端基础软件及系统解决方案。OPhoneSDK是专为OPhone平台设计的软件开发套件,它包括OPhoneAPI,OPhone模拟器,开发工具,示例代码和帮助文档(摘自OPhone官方网站:)。简而言之,OPhone是一个移动终端的操作系统,移动终端包括手机、MID、NetBook等等。与其他领域的编程一样,OPhone编程并没有什么神秘之处,只需简单的学习就可以掌握大部分的概念。剩下的就是尽情发挥你的想象力了。写作本文的目的为了普及OPhone编程的基本知识,并通过复刻一个坦克大战游戏让读者了解2D游戏编程的简单思路。文中的程序结构和实现方法并非最优,希望能起到一个抛砖引玉的作用,让更多的人加入到OPhone开发的行列中来。谁适合阅读本文虽然本文叫做“从零开始OPhone编程”,但并不能面对那些对编程一无所知的读者。实际上,本文要求读者了解java语言的基本知识,最好会使用eclipse。在文章的每个章节都标有难度,有能力的读者完全可以跳过相对容易的章节直接阅读自己感兴趣的内容。本文的时效性本文只适合当前版本的OPhoneSDK(v1.0),本文的代码、图片、链接可能会因时间推移而失效。第一章第一章第一章第一章搭建搭建搭建搭建OPhoneOPhoneOPhoneOPhone开发环境开发环境开发环境开发环境难度:容易工欲善其技,必先利其器。我们要做的第一件事就是搭建OPhone开发环境。本文只介绍Windows下的安装方法,Linux下的安装方法请参考官方网站的介绍。与PC编程略有不同的是,OPhone的程序需要在模拟器中运行。因此,我们需要一个集成开发环境,一个SDK和一个模拟器。因为OPhone编程使用java语言,所以我们还需要JDK,最好使用安装版本()选用JDK6Update16Windows版即可。集成开发环境我们选用eclipse。目前我们只涉及到OPhoneApplication的开发,可以使用eclipse3.3到3.5的任意版本。如果以后要开发OPhoneWidget那么最好选用eclipse3.4()。然后我们可以从OPhone官方网站下载OPhoneSDK(),SDK中已经包含了模拟器。最佳的安装顺序是,首先安装先安装JDK,然后把下载好的eclipse压缩包解压。我一般会把开发工具放在D:\dev下面。最后安装OPhoneSDK。因为OPhoneSDK的安装包是jar格式,如果没有文件关联,是无法直接运行的。这时候需要使用命令行:JDK\bin\java-jarophone-sdk_windows-1.0-setup.jar注意,如果JDK的bin目录已经加入path中,可以不用写前面的目录。全部安装完毕之后,还需要安装eclipse插件。插件是用来扩展eclipse功能的。开发OPhone用的插件叫ADT(AndroidDeveloperTools,因为OPhone脱生于google的Android系统,所以使用android的开发插件)。它可以帮助我们完成创建OPhone项目,向模拟器部署并运行程序,调试程序等工作。关于ADT的功能,在后面使用中我们会逐渐熟悉。安装ADT的方法如下(以eclipse3.4为例):启动eclipse,选择菜单中的Help-SoftwareUpdates点击AddSite点击Archive…找到OPhoneSDK安装目录下tools\ophone\ADT-0.8.0.zip(因为我已经安装好了ADT,所以出现了重复URL的提示),点击OK即可开始安装ADT安装完毕后还要简单配置一下,打开菜单中的Window-Preferences找到Android项,通过Browse按钮指定OPhoneSDK的安装位置至此为止,OPhone的安装环境就全部搭建完毕了。下一章节,我们会遇见经典的helloworld,下章见!第二章第二章第二章第二章创建第一个创建第一个创建第一个创建第一个OPhoneOPhoneOPhoneOPhone程序程序程序程序HHHHelloelloelloelloTankTankTankTank难度:容易现在开始,我们要真正写作OPhone程序了。虽然前面安装过程那么复杂,但是写起程序来却是非常简单。而且为了让大家有一个直观的认识,本文不会叙述大段的原理,而是在编码的过程中渗透对原理、概念的讲解。让我们打开eclipse,选择菜单中的File-New-Project…选择Android-AndroidProject下面需要我们输入项目的一些信息,因为我们要复刻经典游戏坦克大战,所以我们的程序就取名Tank这样,一个Android项目就创建完成了,我们可以在eclipse的PackageExplorer看到我们的项目托ADT的福,虽然我们只输入了几个名字,但这个项目实际上已经可以运行了。右击项目名,选择RunAs-AndroidApplication不出意外的话,你会看到一个手机模拟器被启动,而我们刚刚建立的程序会被运行起来如果你发现模拟器启动了,而程序并没有被运行,可能需要手工启动程序。这里我们用到一个重要的工具DDMS(DavlikDebugManager)。运行DDMS快捷方法是点击eclipse右上角的OpenPerspective,如果在弹出的列表中没有DDMS,那么点击Others选择DDMS这样我们就打开了DDMS界面,这个工具我们以后会经常用到。刚刚说到模拟器启动了而程序并没有被运行,很可能是在模拟器启动过程中DDMS失去了与模拟器的链接。解决方法很简单:点击Devices标签下的工具栏,选择Resetadb然后右击项目名称,RunAs-AndroidApplication。除了右击运行项目,还可以通过工具栏上的运行按钮启动程序在运行按钮左边的是Debug按钮,这两个我们以后也会经常用到。现在我们已经有了第一个可以运行的OPhone,虽然你可能对ADT生成的一堆文件感到一头雾水,也不知道程序界面上那一句“HelloWorld,Main”是从哪里来的,但是没关系,随着本文的深入你会逐渐熟悉OPhone项目的目录结构,程序设计的原则和方法,以及调试和部署的方法。现在读者可以自己熟悉一下模拟器的操作,让我们下章再见。第三章第三章第三章第三章显示文字和图片显示文字和图片显示文字和图片显示文字和图片难度:容易从本章开始,读者就要编写代码了。按照作者的原则——少一些理论,多一些实践,代码中可能会有跳跃的地方。但是请大家不要着急,随着学习的深入,你很快就会了解其中的奥秘。不过在开始之前,我们还是要先来理顺一下思路,看看完成一个坦克大战游戏需要哪些工作:首先,我们需要一个基本的程序,这个程序能够在OPhone上运行;这个程序要能够显示图形包括地图,主角和NPC等等;程序能够接受用户的输入,控制主角移动;程序要能够控制NPC和子弹的移动;程序还能对各种事件做出判断,比如击中敌人,获得物品,胜利或者失败。现在我们就从基本程序开始,一步一步实现它。首先,让我们看一下刚刚生成的文件目录在源文件目录下,只有Main.java和R.java两个文件,刚刚被我们命名成Main.java的文件就是程序的入口文件。而R.java是由插件来维护的资源定义文件,我们先不管它。Main.java内容如下:packagepackagepackagepackageorg.yexing.android.games.tank;importimportimportimportandroid.app.Activity;importimportimportimportandroid.os.Bundle;publicpublicpublicpublicclassclassclassclassMainextendsextendsextendsextendsActivity{/**Calledwhentheactivityisfirstcreated.*/@OverridepublicpublicpublicpublicvoidvoidvoidvoidonCreate(BundlesavedInstanceState){supersupersupersuper.onCreate(savedInstanceState);setContentView(R.layout.main);}}很幸运,Main.java的代码非常之少,而且还有一段注释,以致我们很容易知道函数onCreate的作用,需要解释的只是setContentView()。先不要管注释中提到的Activity和setContentView的参数R.layout.main,我们使用setContentView的另一种形式:setContentView(Viewview)。setContentView的作用是设定当前使用的
本文标题:从零开始android游戏编程
链接地址:https://www.777doc.com/doc-5512368 .html