Andriod Studio 之飛機大戰-構建遊戲開始介面
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);
}
}
相關推薦
Andriod Studio 之飛機大戰-構建遊戲開始介面
1.主要思路:在Android Studio 中 新建遊戲介面,並構造出主執行緒,另外在建立一個類作為遊戲介面,在介面在新建一個方法,目的是交由遊戲介面類呼叫; 2.具體方法(程式碼): package com.example.fpl.helloworld;
Python小遊戲之 - 飛機大戰美女 !
TP 飛機大戰 inf info ima com 圖片 大戰 .com 用Python寫的"飛機大戰美女"小遊戲 Python小遊戲之 - 飛機大戰美女 !
[Unity3D]Unity3D遊戲開發之飛機大戰專案講解
首先感謝大家對我部落格的關注,今天我想和大家分享的是一個飛機大戰的專案。這是一個比較綜合的專案,希望對大家學習Unity3D有所幫助,我會在文章最後給出專案程式碼。作為一個遊戲而言,遊戲策劃十分重要,所以在開始今天的文章之前,我們先來了解下這個專案的策劃。我們
android:怎樣用一天時間,寫出“飛機大戰”這種遊戲!(無框架-SurfaceView繪制)
col ride raw ech tro cti 開發人員 contex epo 序言作為一個android開發人員,時常想開發一個小遊戲娛樂一下大家,今天就說說,我是怎麽樣一天寫出一個簡單的“飛機大戰”的.體驗地址:http://www.wandoujia.com/ap
[知了堂學習筆記]_純JS制作《飛機大戰》遊戲_第1講(實現思路與遊戲界面的實現)
hid width 解決 -1 出現 span port webkit rom 整體效果展示: 一、實現思路 如圖,這是我完成該項目的一個邏輯圖,也是一個功能模塊完成的順序圖。 遊戲界面的完成 英雄飛機對象實現,在實現發射子彈方法過程中,又引出了子彈對象並實現。
[知了堂學習筆記]_純JS制作《飛機大戰》遊戲_第3講(邏輯方法的實現)
了解 隱藏 div 開始遊戲 創建對象 eve 我們 span nbsp 整體展示: 上一講實現了諸多對象,這次我們就需要實現許多邏輯方法,如控制飛機移動,判斷子彈擊中敵機,敵機與英雄飛機相撞等等。並且我們在實現這些功能的時候需要計時器去調用這些方法。setInt
javascript飛機大戰-----002遊戲引擎
pan sco htm gin () ear 效果 time margin 基本html布局 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8">
[原始碼分享]基於Python的Pygame庫實現的仿微信遊戲中的飛機大戰小遊戲
不知大家是否還記得當時微信上風靡一時的打飛機小遊戲,通過控制我方飛機的上下左右移動,發射子彈來擊毀敵機,增加得分。這是一款簡單操作易上手又很有趣味性的遊戲,我使用python作為基本語言,利用pygame仿照微信版本完成了這款低配版飛機大戰遊戲。 我方飛機會按時的不斷髮射子彈,玩家通過上下左
python學習之飛機大戰
class PlaneGame(object): ''' 飛機大戰主遊戲 ''' def __init__(self): print("chushihua") # (1)設定遊戲視窗 self.screen = pygame.dis
[原始碼和文件分享]基於Python的Pygame庫實現的仿微信遊戲中的飛機大戰小遊戲
不知大家是否還記得當時微信上風靡一時的打飛機小遊戲,通過控制我方飛機的上下左右移動,發射子彈來擊毀敵機,增加得分。這是一款簡單操作易上手又很有趣味性的遊戲,我使用python作為基本語言,利用pygame仿照微信版本完成了這款低配版飛機大戰遊戲。 我方飛機會按時的不斷髮射子彈,玩家通過上下左右的方向鍵來躲避
c++ 飛機大戰控制檯遊戲
之所以寫這個遊戲,是 #include<iostream> #include<cstring> #include<windows.h> #include<cmath> #include<time.h> #
Android Studio之Gradle自動化構建打包
最近一年來的工作最讓我深有感悟的就是測試動不動就是問我要測試包,弄的我實在是叫苦不堪。今天正好有個工作空檔期,也有些意外看到過些類似的博文,正好在這個工作空檔期實現了Window上跑Gradle指令碼自動構建Android專案。 首先,開發環境: 系統:Win7 Gradle版本:4.
飛機大戰小遊戲
官方網站:https://www.pygame.org/ 安裝pygame模組 pip install pygame 測試是否安裝成功 python -m pygame.examples.aliens 使用pygame建立圖形視窗 pygame.init() 匯入並初
網頁HTML5--飛機大戰小遊戲開發--canvas的應用
一,概述 此小專案,是用來練習HTML5的canvas的程式設計運用。在這個專案中,我們需要建立一個可執行的網頁小遊戲,開發此小遊戲並不難,大概如下圖所示: 在整個遊戲的執行中,總共要分為5個狀態(state)去實現,分別是首頁(START),載入中(STARTING)
Javascript實現飛機大戰小遊戲
原始碼地址:https://github.com/markLijun/planeWar 最近看到一個用JS寫的坦克大戰小遊戲,覺得好神奇,於是自己嘗試著寫了一個飛機大戰。 敵機類 function Enemy(x, y) this.x = x; this.y = y;
Android 專案之飛機大戰
首先,我們要建立一個GameSurface()類;我們此次採用的是畫登入介面的方式,所以GameSurface()需要繼承SurfaceView類而且要執行SurfaceHolder.Callback的方法,並且實現其中的沒有完成的方法surfaceChanged、surf
Python:用Pygame實現飛機大戰小遊戲
2、開啟main.py檔案,寫入程式碼。 # main.py import pygame import sys import traceback import myplane import enemy import bullet imp
05_31 Android Studio (飛機大戰-繪製玩家和Boss飛機,子彈)
MySurfaceView package com.example.shinelon.mysurfaceview; import android.content.Context; import android.graphics.BitmapFactory
程式小白----AndroidStudio之飛機大戰
程式小白—-AndroidStudio之飛機大戰 今天我們開始一些Android的學習 一:選單類 新建一個選單類用於定義一些變數和方法: package com.example.xia
Ugui遊戲開始介面 設定介面彈出
using UnityEngine; using System.Collections; using UnityEngine.UI; public class gamestart01 : MonoBehaviour { public GameObject setting