Andriod Studio 之飞机大战-构建游戏开始界面
来源:互联网 发布:淘宝最迟几天发货 编辑:程序博客网 时间:2024/06/05 00:59
1.主要思路:在Android Studio 中 新建游戏界面,并构造出主线程,另外在创建一个类作为游戏界面,在界面在新建一个方法,目的是交由游戏界面类调用;
2.具体方法(代码):
package com.example.fpl.helloworld;import android.content.Context;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.graphics.Canvas;import android.graphics.Paint;import android.view.SurfaceHolder;import android.view.SurfaceView;/** * Created by FPL on 2017/5/24. */public class GameSurface extends SurfaceView implements SurfaceHolder.Callback { private GameMenu gameMenu; private Bitmap bmpMainBG; private Bitmap bmpLogo; private Bitmap bmpButton; private Bitmap bmpText; public static int screenwidth; public static int screenheight; private SurfaceHolder surfaceHolder; private Canvas canvas; private Paint paint; public GameSurface(Context context) { super(context); surfaceHolder = this.getHolder(); surfaceHolder.addCallback(this); paint=new Paint(); paint.setAntiAlias(true); } @Override public void surfaceCreated(SurfaceHolder holder) { screenwidth=this.getWidth(); screenheight=this.getHeight(); initBitmap(); new Thread(new Runnable() { @Override public void run() { mydraw(); } }).start(); } private void mydraw() { canvas=surfaceHolder.lockCanvas(); gameMenu.draw(canvas,paint); if (canvas!=null){ surfaceHolder.unlockCanvasAndPost(canvas); } } private void initBitmap(){ bmpMainBG= BitmapFactory.decodeResource(this.getResources(),R.drawable.mainmenu); bmpLogo= BitmapFactory.decodeResource(this.getResources(),R.drawable.logo); bmpButton= BitmapFactory.decodeResource(this.getResources(),R.drawable.menustartpress); bmpText= BitmapFactory.decodeResource(this.getResources(),R.drawable.starttext); gameMenu=new GameMenu(bmpMainBG,bmpLogo,bmpButton,bmpText); } @Override public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) { } @Override public void surfaceDestroyed(SurfaceHolder holder) { }}package com.example.fpl.helloworld;import android.graphics.Bitmap;import android.graphics.Canvas;import android.graphics.Paint;import android.graphics.Rect;/** * Created by FPL on 2017/5/24. */public class GameMenu { private Bitmap bmpMainBG; private Bitmap bmpLogo; private Bitmap bmpButton; private Bitmap bmpText; private Rect rect; private Rect rect2;public GameMenu(Bitmap bmpMainBG,Bitmap bmpLogo,Bitmap bmpButton,Bitmap bmpText ){ this.bmpButton=bmpButton; this.bmpLogo=bmpLogo; this.bmpMainBG=bmpMainBG; this.bmpText=bmpText; rect=new Rect(0,GameSurface.screenheight/6,GameSurface.screenwidth,GameSurface.screenheight/5+GameSurface.screenheight/5); rect2=new Rect(0,0,GameSurface.screenwidth,GameSurface.screenheight);} public void draw(Canvas canvas, Paint paint) { canvas.drawBitmap(bmpMainBG,null,rect2,paint); canvas.drawBitmap(bmpLogo,null,rect,paint); int x=GameSurface.screenwidth/2-bmpButton.getWidth()/2; int y=GameSurface.screenheight/3*2; canvas.drawBitmap(bmpButton,x,y,paint); int x1=GameSurface.screenwidth/2-bmpText.getWidth()/2; int y1=GameSurface.screenheight/3*2+20; canvas.drawBitmap(bmpText,x1,y1,paint); }}
阅读全文
0 0
- Andriod Studio 之飞机大战-构建游戏开始界面
- 飞机大战-StartView 开始界面的实现
- swing飞机大战 一 开始界面和选关界面
- 全民飞机大战界面
- 飞机大战-MyView游戏主界面的实现
- 飞机大战-EndView游戏结束界面的实现
- 线程游戏-飞机大战
- 飞机大战游戏
- java飞机大战游戏
- 飞机大战游戏实现
- 游戏-飞机大战 (微信版)
- 游戏 飞机大战 c++
- java游戏-飞机大战
- swing 飞机大战 开始准备
- cocos2dx游戏项目之飞机大战1 目录
- [Unity3D]Unity3D游戏开发之飞机大战项目讲解
- Android游戏之仿 微信飞机大战
- Cocos2d-X研究之豪华版飞机大战游戏开发系列
- 权限管理——RBAC模型总结
- Spring中的计时器StopWatch
- Linux安全之SYN攻击原理及处理
- java多线程学习之通过轮询实现线程通信
- AJAX——JavaScript面向对象
- Andriod Studio 之飞机大战-构建游戏开始界面
- Adobe的FMS破解版的几点认知
- 保持每月不断更
- poj 1964 DP 求最大子矩形面积
- Linux常用网络工具:批量主机服务扫描之nmap
- 求数组的子数组之和的最大值(编程之美)
- Carthage 包管理工具,另一种敏捷轻快的 iOS & MAC 开发体验
- Linux常用网络工具:fping主机扫描
- java多线程学习之使用join()方法实现线程插队