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();
}
}
}
}
}
相關文章
- 遊戲地圖背景移動C++遊戲地圖C++
- Android ImageView 清空背景圖片AndroidView
- 遊戲開發需要的背景知識遊戲開發
- android短影片開發,圖片視差滾動Android
- Android開發筆記——點選檢視大圖過渡動畫與圖片縮放與移動Android筆記動畫
- 淺談移動端圖片壓縮(iOS & Android)iOSAndroid
- CSS背景圖片集中在同一個圖片CSS
- 《Unity移動遊戲開發》讀後感Unity遊戲開發
- Android之背景圖片設定為重複Android
- 移動開發時批處理壓縮圖片提高開發效率移動開發
- 一個去掉圖片背景的網站網站
- 移動遊戲開發十誡!第一個雛型就要搞定的事遊戲開發
- JavaScript動態設定元素背景圖片JavaScript
- 直播電商平臺開發,Android | 圖片縮放、自動居中Android
- 遊戲陪玩系統原始碼開發,如何實現圖片和動畫的優化?遊戲原始碼動畫優化
- 2020遊戲研發力量調查(移動遊戲篇)遊戲
- 使用Xamarin開發移動應用示例——數獨遊戲(二)建立遊戲介面遊戲
- 使用Xamarin開發移動應用示例——數獨遊戲(七)新增新遊戲遊戲
- [譯]移動遊戲發行的新時代遊戲
- 美圖秀秀怎麼給圖片新增背景?美圖秀秀給圖片新增背景的教程
- 直播app開發搭建,Android studio 圖片壓縮APPAndroid
- 推薦一個去除圖片人物背景的工具RemovebgREM
- 一個基於canvas的移動端圖片編輯器Canvas
- 遊戲開發入門(一)遊戲開發概述遊戲開發
- JavaScript跟隨滑鼠移動的圖片效果JavaScript
- CSS · 兩種背景圖片CSS
- IDEA更換背景圖片Idea
- vscode設定背景圖片VSCode
- 使用Xamarin開發移動應用示例——數獨遊戲(一)專案的建立與除錯遊戲除錯
- 使用Xamarin開發移動應用示例——數獨遊戲(五)儲存遊戲進度遊戲
- 戲說移動江湖開發歷程
- 給一個塊元素新增多張背景圖片
- 大量影片批次新增背景圖片的操作
- CSS hover改變背景圖片過渡動畫生硬CSS動畫
- 移動端圖片優化總結優化
- IDEA 修改編輯背景圖片Idea
- JavaScript設定背景圖片位置JavaScript
- windows10的背景選擇圖片夾在哪裡開啟Windows
- 【Android 開發 VR 實戰】三. 開發一個尋寶類 VR 遊戲 TreasureHuntAndroidVR遊戲