×

android简单小游戏开发 屏幕

android简单小游戏开发(android 开发 本人正在做一个小游戏 如何能够实现点击屏幕任意位置开始)

admin admin 发表于2024-04-29 01:38:11 浏览13 评论0

抢沙发发表评论

大家好,如果您还对android简单小游戏开发不太了解,没有关系,今天就由本站为大家分享android简单小游戏开发的知识,包括android 开发 本人正在做一个小游戏 如何能够实现点击屏幕任意位置开始的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

本文目录

android 开发 本人正在做一个小游戏 如何能够实现点击屏幕任意位置开始

public boolean onTouch(View view, MotionEvent event) {if(event.getAction() == MotionEvent.ACTION_DOWN){//之捕捉屏幕被按下的事件}详情查阅API

开发一个游戏小程序要多少钱

游戏微信小程序开发一种是模板开发,另外一种是定制开发,这两种开发方式和开发费用都不一样:1、模板开发小程序模板开发价格就相对较低,一般几千到一万左右。优点是价格便宜,操作简单,能快速上线。2、定制开发定制开发的小程序可以根据客户的实际所需功能量身定造,该类型开发,因为排版,功能需求,UI页面设计的复杂性,一般研发费用都在1万以上,当然,目前小程序的开发成本是与功能、页面的多少成正比关系的,如果需要开发的小程序功能并不多,那么开发成本自然就低,反之亦然。在开发周期上,小程序的开发周期平均为4个星期,而一款iOS/Android双平台APP通常需要3个月的时间;在手机适配方面,小程序是一次开发,多种终端适配,APP则需要逐一调试;作为商家最为关心的开发费用,通常也不会超过5万元,而一款优秀APP的成本至少会超过十万元。玩转h5营销活动,助力销售转化提升!点击这里获取实用的h5游戏制作工具:凡科互动

安卓手机里的小游戏是怎么做出来的,是的是什么开发软件

需要root权限。可以下载"z4root"这款软件。不过还是建议用pc端开发汉化。

求一个安卓开发小游戏源代码,临时交作业用

package com.fiveChess;import android.app.Activity;import android.os.Bundle;import android.view.Display;import android.view.Menu;import android.view.MenuItem;import android.view.Window;import android.view.WindowManager;public class MainActivity extends Activity {GameView gameView = null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.getWindow().requestFeature(Window.FEATURE_NO_TITLE); this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN); Display display = this.getWindowManager().getDefaultDisplay(); gameView = new GameView(this,display.getWidth(),display.getHeight()); setContentView(gameView); } @Override public boolean onCreateOptionsMenu(Menu menu) { menu.add("重新开始").setIcon(android.R.drawable.ic_menu_myplaces); menu.add("退出"); return super.onCreateOptionsMenu(menu); } @Override public boolean onOptionsItemSelected(MenuItem item) { if(item.getTitle().equals("重新开始")){ gameView.canPlay = true; gameView.chess = new int; gameView.invalidate(); }else if(item.getTitle().equals("退出")){ finish(); } return super.onOptionsItemSelected(item); }}package com.fiveChess;import android.app.AlertDialog;import android.content.Context;import android.content.DialogInterface;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.Paint.Style;import android.view.MotionEvent;import android.view.View;public class GameView extends View {Context context = null;int screenWidth,screenHeight;String message = "";//提示轮到哪个玩家int row,col;//划线的行数和列数int stepLength = 30;//棋盘每格间距int chess = null;//0代表没有棋子,1代表是黑棋,2代表白旗boolean isBlack = true;boolean canPlay = true;public GameView(Context context,int screenWidth,int screenHeight) {super(context);this.context = context;this.screenWidth = screenWidth;this.screenHeight = screenHeight;this.message = "黑棋先行";row = (screenHeight-50)/stepLength+1;col = (screenWidth-10)/stepLength+1;chess = new int; }@Overrideprotected void onDraw(Canvas canvas) {super.onDraw(canvas);Paint paint = new Paint();paint.setColor(Color.WHITE);canvas.drawRect(0, 0, screenWidth, screenHeight, paint);//画背景paint.setColor(Color.BLUE);paint.setTextSize(25);canvas.drawText(message, (screenWidth-100)/2, 30, paint);//画最顶层的字paint.setColor(Color.BLACK);//画棋盘for(int i=0;i《row;i++){canvas.drawLine(10, 50+i*stepLength, 10+(col-1)*stepLength, 50+i*stepLength, paint);}for(int i=0;i《col;i++){canvas.drawLine(10+i*stepLength,50,10+i*stepLength,50+(row-1)*stepLength, paint);} for(int r=0;r《row;r++){for(int c=0;c《col;c++){if(chess == 1){paint.setColor(Color.BLACK);paint.setStyle(Style.FILL);canvas.drawCircle(10+c*stepLength, 50+r*stepLength, 10, paint);}else if(chess == 2){//画白棋paint.setColor(Color.WHITE);paint.setStyle(Style.FILL);canvas.drawCircle(10+c*stepLength, 50+r*stepLength, 10, paint); paint.setColor(Color.BLACK);paint.setStyle(Style.STROKE);canvas.drawCircle(10+c*stepLength, 50+r*stepLength, 10, paint);}}}}@Overridepublic boolean onTouchEvent(MotionEvent event) {if(!canPlay){return false;}float x = event.getX();float y = event.getY();int r = Math.round((y-50)/stepLength);int c = Math.round((x-10)/stepLength);if(r《0 || r》row-1 || c《0 || c》col-1){return false;}if(chess!=0){return false;}//若有棋子则不再画棋子了if(isBlack){chess = 1;isBlack = false;message = "轮到白棋";}else{chess = 2;isBlack = true;message = "轮到黑棋";}invalidate();if(judge(r, c,0,1)) return false;if(judge(r, c,1,0)) return false ;if(judge(r, c,1,1)) return false;if(judge(r, c,1,-1)) return false; return super.onTouchEvent(event);}private boolean judge(int r, int c,int x,int y) {//r,c表示行和列,x表示在y方向上的偏移,y表示在x方向上的偏移int count = 1;int a = r;int b = c;while(r》=0 && r《row && c》=0 && c《col && r+x》=0 && r+x《row && c+y》=0 && c+y《col && chess){count++;if(y》0){c++;}else if(y《0){c--;}if(x》0){r++;}else if(x《0){r--;}}while(a》=0 && a《row && b》=0 && b《col && a-x》=0 && a-x《row && b-y》=0 && b-y《col && chess){count++;if(y》0){b--;}else if(y《0){b++;}if(x》0){a--;}else if(x《0){a++;}}if(count》=5){String str = "";if(isBlack){str = "白棋胜利";}else{str = "黑棋胜利";}new AlertDialog.Builder(context).setTitle("游戏结束").setMessage(str).setPositiveButton("重新开始", new DialogInterface.OnClickListener() { @Overridepublic void onClick(DialogInterface dialog, int which) {chess = new int;invalidate(); }}).setNegativeButton("观看棋局", new DialogInterface.OnClickListener() { @Overridepublic void onClick(DialogInterface dialog, int which) {canPlay = false; }}).show();return true;} return false;}}PS:五子棋,无需图片,直接在程序里画出来的。注意我发的是两个文件,一个activity,一个类文件,别把它当成一个文件了

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”的方法。诸如此类的任务能够很快完成,因而你可以按照搭积木的方法来开发你的游戏,而你能够继续添加你要的功能,并且不会使得这一切难以理解。最重要的是效率!性能是任何游戏的主要问题。我们的目标是使得游戏的反应越快越好,看起来越流畅越好。某些方法如Canvas.drawLine比较慢。并且要将屏幕大小的位图画到主画布上,每一帧都是代价昂贵的。如何权衡对于达到最佳性能很有必要。确保管理好你的资源,使用技巧来以最少量的CPU资源完成你的任务。

用android编出来的小游戏有哪些

小鸟、水果忍着什么的就不用说了,想必你也玩烂了。我推荐几个我在玩的: 1、stupidzombies(几个子弹内打死所有屏幕上的僵尸,子弹会在屏幕上弹来弹去) 2、ageofwind2(中世纪海盗游戏,出去炸翻海上的船,然后捡桶子回去卖钱,修船买新船,挺有意思,重力感应操作方向,刚开始有点不熟,熟练了可以风筝n只船) 3、whackyourboss(只有20关,中文名好像叫老板的20种死法,如果你在工作,说不定你会喜欢) 4、三国杀。这个就不用说了吧 5、beats。跳舞机游戏。 6、battleheart(中文名勇者之心,打怪升级的,有法师、猎人、战士、dk、野蛮人、盗贼几种职业) 7、canknockdown(踢罐子,拿球砸罐子,有点意思) 8、where‘smywater?(鳄鱼爱洗澡) 9、三剑之舞(棒子的游戏,类似于地下城与勇士) 10、deathrally(死亡拉力赛,赛车咯) 11、游戏发展国(这个会玩上瘾的,不过很快就通关了,通关后还是可以继续玩) 12、streetball(街头篮球,挺容易的,基本上随便选一个人物都能完爆对手,我每场得分28+,盖帽18个,两双啊,哈哈) 13、skaterboy(滑板游戏) 14、cheesetower(某些网站上排名靠前的游戏,玩了觉得一般般)好了就这些,还有很多删了都不记得了。

关于android简单小游戏开发和android 开发 本人正在做一个小游戏 如何能够实现点击屏幕任意位置开始的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。