android遊戲開發一:背景圖片的移動
此demo實現螢幕的原理就不每過100毫秒就重新整理背景圖片顯示座標。
程式碼如下:
import java.util.Random;
import android.app.Activity;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.os.Bundle;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
public class MainActivity extends Activity {
DisplayMetrics metric;
float width = 0;
float height = 0;
private float startX = 0;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//全屏顯示
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
metric = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metric);
width = metric.widthPixels; // 螢幕寬度(畫素)
height = metric.heightPixels; // 螢幕高度(畫素)
setContentView(new XueshanMap(MainActivity.this));
}
public class XueshanMap extends View implements Runnable{
/**背景圖片**/
private Bitmap bitmap = null;
/**貼圖**/
private Bitmap bit2 = null;
/**計數器**/
public int count = 0;
float miDTX = 0; // 代表圖片左邊的橫座標 用來左右移動圖片
float miDTY = 280; // 代表圖片左邊的橫座標 用來左右移動圖片
private float moveX = 0;
public XueshanMap(Context context) {
super(context);
/**獲取背景圖片**/
bitmap = BitmapFactory.decodeResource(context.getResources(), R.drawable.xueshan);
/**獲取貼圖**/
bit2 = BitmapFactory.decodeResource(context.getResources(), R.drawable.frozen1);
//startX = bitmap.getWidth() - width;
new Thread(this).start();
}
@Override
protected void onDraw(Canvas canvas) {
// TODO Auto-generated method stub
super.onDraw(canvas);
bitmap.getHeight();
/**建立背景圖片並宣告圖片的長寬**/
Bitmap bitmap2 = Bitmap.createBitmap(bitmap, 0, 0
, bitmap.getWidth() , bitmap.getHeight());
/**計數**/
count++;
/**每次移動位置**/
moveX = 0-count*5;
Random random1 = new Random();
Random random2 = new Random();
/**貼圖隨機螢幕X位置**/
int x = random1.nextInt(100);
/**貼圖隨機螢幕Y位置**/
int y = random2.nextInt(100);
/**繪製顯示的背景圖片座標**/
canvas.drawBitmap(bitmap2, moveX, 0, null);
/**繪製顯示的貼圖座標**/
canvas.drawBitmap(bit2, x , y , null);
}
public void run() {
// TODO Auto-generated method stub
while (true) {
/**重新整理**/
postInvalidate();
Log.v("MYView HHH", String.valueOf(startX));
try {
Thread.sleep(100);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
相關文章
- Android ImageView 清空背景圖片AndroidView
- Android ListView(Selector 背景圖片)AndroidView
- CSS背景圖片集中在同一個圖片CSS
- 一個去掉圖片背景的網站網站
- 遊戲地圖背景移動C++遊戲地圖C++
- JavaScript動態設定元素背景圖片JavaScript
- 淺談移動端圖片壓縮(iOS & Android)iOSAndroid
- CSS將背景圖片集中在一張圖片上CSS
- Android Toast 自定義背景、圖片 隨心使用AndroidAST
- Android之背景圖片設定為重複Android
- 美圖秀秀怎麼給圖片新增背景?美圖秀秀給圖片新增背景的教程
- 在Android中製作移動的漸變背景Android
- css3控制多個背景圖片移動形成動畫效果程式碼例項CSSS3動畫
- 推薦一個去除圖片人物背景的工具RemovebgREM
- css設定背景圖片鋪滿固定不動CSS
- CSS · 兩種背景圖片CSS
- JavaScript設定背景圖片JavaScript
- css 背景圖片屬性CSS
- WPF 按鈕背景圖片
- CSS如何控制背景圖片的位置CSS
- 遊戲開發之--簡單的人物走動和地圖移動(一)遊戲開發地圖
- 一個基於canvas的移動端圖片編輯器Canvas
- JavaScript跟隨滑鼠移動的圖片效果JavaScript
- css3動態背景圖片程式碼例項CSSS3
- div+css背景圖片的定位取圖方法CSS
- 大量影片批次新增背景圖片的操作
- 實現背景圖片的全屏拉伸效果
- 小程式之背景圖片的載入
- 小程式背景圖片問題
- JavaScript設定背景圖片位置JavaScript
- CSS中背景圖片定位方法CSS
- 為view設定背景圖片View
- 移動端圖片優化總結優化
- 移動端圖片上傳元件分享元件
- CSS滑鼠移動圖片切換功能CSS
- 巧妙的有css合併圖片解決tab切換的背景圖片CSS
- Word繪圖工具欄精確移動圖片的設定繪圖
- 整理一個用matrix對imageview移動和綻放圖片的方法View