Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package ccc.GameDemo1;
- import ccc.GameDemo1.R;
- import android.app.Activity;
- // 引用會用到的繪圖函式庫
- import android.graphics.Canvas;
- import android.graphics.Paint;
- import android.graphics.Rect;
- import android.graphics.drawable.Drawable;
- import android.os.Bundle;
- import android.os.Handler;
- import android.view.SurfaceHolder;
- import android.view.SurfaceView;
- import android.view.View;
- import android.widget.Button;
- import android.widget.CheckBox;
- //引用鍵盤的事件函式庫
- import android.view.KeyEvent;
- public class GameDemo1 extends Activity {
- // 叉叉按鈕
- Button closeButton;
- // 可勾選的控制項
- CheckBox actCheckBox;
- // 畫布
- SurfaceView SurfaceView01;
- // 畫布處理者
- SurfaceHolder surfaceHolder;
- // 遊戲執行緒
- Thread gameThread;
- // 通知遊戲執行緒結束
- Boolean isGameThreadOver = true;
- // 遊戲物件
- GameObj demoObj;
- // 設定每秒最大更新畫格數
- int gameFPS = 25;
- // 初始化鍵盤處理者
- KeyHandler keyHandler = new KeyHandler();
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- // 取得本機圖片後初始化繪圖物件
- Drawable demoDrawable = getResources().getDrawable(R.drawable.demo);
- // 初始化遊戲物件
- demoObj = new GameObj(demoDrawable);
- // 初始化可勾選的控制項
- actCheckBox = (CheckBox) findViewById(R.id.actCheckBox);
- // 可勾選的事件處理
- actCheckBox.setOnClickListener(new View.OnClickListener() {
- public void onClick(View arg0) {
- // 如果已勾選則設定文字為"移動",反之設為旋轉與縮放
- if (actCheckBox.isChecked())
- actCheckBox.setText("move");
- else
- actCheckBox.setText("rotate and scale");
- }
- });
- // 初始化叉叉
- closeButton = (Button) findViewById(R.id.closeButton);
- // 當按下"叉叉"時結束程式
- closeButton.setOnClickListener(new View.OnClickListener() {
- public void onClick(View arg0) {
- gameExit();
- }
- });
- // 初始化畫布
- SurfaceView01 = (SurfaceView) findViewById(R.id.SurfaceView01);
- // 取得畫布處理者
- surfaceHolder = SurfaceView01.getHolder();
- // 增加回呼方法
- surfaceHolder.addCallback(new SurfaceHolder.Callback() {
- public void surfaceDestroyed(SurfaceHolder arg0) {
- }
- // 當畫布被創造時
- public void surfaceCreated(SurfaceHolder arg0) {
- // 畫出一開始的等待3秒後開始
- draw(drawAction.start);
- // 初始化處理者
- Handler handler = new Handler();
- // 處理者方法
- Runnable gameStartRun = new Runnable() {
- public void run() {
- // 啟動遊戲
- gameStart();
- }
- };
- // 延遲3秒
- handler.postDelayed(gameStartRun, 3000);
- }
- public void surfaceChanged(SurfaceHolder arg0, int arg1, int arg2,
- int arg3) {
- }
- });
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement