如果你有兴趣在android上设计一些游戏,那么我这儿有一些对你有所帮助的东西,我是android Market上一个名为LightRacer的小赛车游戏的开发者,虽然在此之前我也曾开发过游戏,但这仍然是我的第一个android上的应用,在这个过程中我学到了很多在android上开发游戏的经验,我也很乐意将这一切与你分享。让我们开始吧,如果你之前做过游戏的开发,那么转移到android这样的移动平台上并不是件难事,你要做的只是学习一下新的架构与API,如果你是一个新手,我这儿也为你准备了一个入门清单,它适用于任何类型的游戏开发,比如动作类、策略类、模拟类或者智力类。开启分步阅读模式
操作方法
01
在这门课你会完成一个可以运行在安卓机或者安卓平板上的游戏。你可以与你的家人朋友分享它,用你的新知识进一步改进你的游戏,或者完全自己创造一个游戏。02
如果你有兴趣在android上设计一些游戏,那么我这儿有一些对你有所帮助的东西,我是android Market上一个名为LightRacer的小赛车游戏的开发者,虽然在此之前我也曾开发过游戏,但这仍然是我的第一个android上的应用,在这个过程中我学到了很多在android上开发游戏的经验,我也很乐意将这一切与你分享。让我们开始吧,如果你之前做过游戏的开发,那么转移到android这样的移动平台上并不是件难事,你要做的只是学习一下新的架构与API,如果你是一个新手,我这儿也为你准备了一个入门清单,它适用于任何类型的游戏开发,比如动作类、策略类、模拟类或者智力类。03
获取SDK 第一步当然是下载并安装android的SDK[软件开发套件],这套SDK主要包括有核心库文件,一个模拟器,开发工具和一些示范的样例文件。我强烈推荐你使用 Eclipse 和 android eclipse 扩展。如果你只是使用android,Eclipse IDE就已经足够了,但如果这是你第一次开发Java应用,建议你还是下载完整的04
学习应用架构 就像迷人的内在美一样,这是理解
android 应用架构的关键,如果你不学习它,你设计出来的游戏将是一种很难修复bug的产品。你需要了解应用程序、活动、Intents以及它们是如何互相联系交互的,Google在这儿提供了良好的信息架构。真正重要的是,你要理解为什么在你设计的游戏中需要不止一个的活动进程以及如何设计一个用户体验良好的游戏。这些都应当配合到应用的生命周期中。05
学习应用的生命周期 应用的生命周期是由AndroidOS操作系统进行管理的,你的活动进程都将做为系统命令进行创建,正确处理这些事件对一个应用程序来说是极为重要的,因为终端用户不会知道什么是正确的。最好在开始设计你的游戏之前搞明白这些,因为这有助于节省你的调试时间以及避免代价高昂的重新设计。06
对大多数应用而言,默认设置即可开始工作,但对游戏而言,你可能需要调整单态实例的信号为打开。在默认情况下,Android会新建一个活动实例进程,因为它认为这是比较合适的,而游戏,你可能只希望有一个活动的实例进程,这有一点儿影响,它需要你了解一些系统状态的管理,但对我来说,它解决了资源管理的问题,还是值得的。07
主循环 是否需要一个主循环是根据你写的游戏类型而决定的,如果你写的游戏没有时间依赖性或者只是响应用户的输入而没有其它的视觉变化,你可能并不需要一个主循环。如果你设计的是一个平面的动作游戏或者动画游戏,计时游戏或者其实类型的自动游戏,你就应该认真考虑使用主循环。
手机编程小游戏教程
这里介绍3种可以在手机上编程的app,分别是c语言编译器(c语言)、AIDE集成开发环境(java)、QPython3(python),都不需要root,可以直接编写程序并运行,下面我简单介绍一下这3个app的安装和简单使用,主要内容如下:C语言编译器:这是一个很小巧的c编译器,大概13兆左右,界面简洁、朴素,使用起来很简单,下面我介绍一下这个app的安装和简单使用:
1.下载安装,这里以我的vivo手机为例,直接打开“应用商店”,搜索“C语言编译器”,如下,直接点击下载安装:测试代码如下,这里编写了2个函数,分别是2数之和和2数只差,很简单:程序运行截图如下,需要先输入2个数,才能正常运行:AIDE集成开发环境:这个主要是用来写java代码(创建工程、写小游戏等),当然也可以写c 代码,只不过需要安装对应的插件才行,自带自动补全的功能,界面干净、整洁,使用起来不错,下面我介绍一下这个app的安装和简单使用:
1.下载安装,这直接在应用商店里搜素“AIDE”就行,直接下载安装,如下:这里测试一下,主要代码如下,官方自带的例子:程序运行截图如下:QPython3:这个见名思意,主要用来在手机上写python3代码,使用起来也不错,下面我介绍一下这个app的安装和简单使用:
1.下载安装,这里直接在应用商店里搜索“QPython3”就行,直接下载安装,如下:主界面如下,主要分为“终端”、“编辑器”、“程序”、“QPYPI”、“课程”、“社区”这6个模块,终端类似IDLE,编辑器类似记事本,QPYPI是第三方包和工具,程序存储官方自带的示例,课程是一些教学案例:这里测试一下官方自带的例子—speaky.py,在“程序”这个模块下,代码如下:点击运行按钮,程序运行截图如下:至此,这3个app都介绍完毕。使用起来都不错,各有各的功能,还有许多其他的app也可以在手机上进行编程,像c4droid(c/c ),termux(高级终端,类似linux)等,这里我就不详细介绍了,感兴趣的可以在网上搜索一下,有相关教程和示例可供参考,希望以上分享的内容能对你有所帮助吧。
手机编程小游戏代码
以下是贪吃蛇源代码:#include
#include
#include
#include
#include
#define N 21
void gotoxy(int x,int y)//位置函数{
COORD pos;
pos.X=2*x;
pos.Y=y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),pos);
}
void color(int a)//颜色函数{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),a);
}
void init(int apple[2])//初始化函数(初始化围墙、显示信息、苹果)
{
int i,j;//初始化围墙
int wall[N 2][N 2]={{0}};
for(i=1;i0;i--)
{
snake[i][0]=snake[i-1][0];
snake[i][1]=snake[i-1][1];
gotoxy(snake[i][0],snake[i][1]);
color(14);
cout<<"★"< } if(kbhit()) { gotoxy(0,N 2); ch=getche(); } switch(ch) { case w:snake[0][1]--;break; case s:snake[0][1] ;break; case a:snake[0][0]--;break; case d:snake[0][0] ;break; default: break; } gotoxy(snake[0][0],snake[0][1]); color(14); cout<<"★"< Sleep(abs(200-0.5*score)); if(snake[0][0]==apple[0]&&snake[0][1]==apple[1])//吃掉苹果后蛇分数加1,蛇长加1 { score ; len ; snake=(int**)realloc(snake,sizeof(int*)*len); snake[len-1]=(int*)malloc(sizeof(int)*2); apple[0]=rand()%N 1; apple[1]=rand()%N 1; gotoxy(apple[0],apple[1]); color(12); cout<<"●"< gotoxy(N 5,3); color(20); cout< } if(snake[0][1]==0||snake[0][1]==N||snake[0][0]==0||snake[0][0]==N)//撞到围墙后失败 { gotoxy(N/2,N/2); color(30); cout<<"失败!!!"< for(i=0;i free(snake[i]); Sleep(INFINITE); exit(0); } } return 0; }