簡體   English   中英

在游戲開發中將圖像加載到不同的屏幕尺寸和密度嗎?

[英]Loading images to different screen sizes and densities in game development?

下面的代碼在不同的屏幕尺寸上繪制一個正方形和一個圓形,以改變圖像之間的距離。 實際的位圖以及不同的屏幕尺寸和密度可能會更加混亂。 這是代碼

package com.badlogic.androidgames;

import android.app.Activity;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Paint.Style;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;

public class ShapeTest extends Activity {
class RenderView extends View {        
    Paint paint;

    public RenderView(Context context) {
        super(context);
        paint = new Paint();            
    }

    protected void onDraw(Canvas canvas) {
        canvas.drawRGB(255, 255, 255);            
        paint.setColor(Color.RED);
        canvas.drawLine(0, 0, canvas.getWidth()-1, canvas.getHeight()-1, paint);

        paint.setStyle(Style.STROKE);
        paint.setColor(0xff00ff00);            
        canvas.drawCircle(canvas.getWidth() / 2, canvas.getHeight() / 2, 40, paint);

        paint.setStyle(Style.FILL);
        paint.setColor(0x770000ff);
        canvas.drawRect(100, 100, 200, 200, paint);
        invalidate();
    }
}

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                         WindowManager.LayoutParams.FLAG_FULLSCREEN);
    setContentView(new RenderView(this));
}
}

這是一張照片: 在此處輸入圖片說明

我應該如何進行?

問題在於矩形的邊界不取決於屏幕尺寸。

canvas.drawRect(100, 100, 200, 200, paint);

將以像素為單位。

您需要的是寬度,高度,頂部和左側的適當乘數。 (float)(height / width)(float)(width / height) -取決於夾心較大。

canvas.drawRect(leftOffset* ratio, topOffset * ratio, baseWidth * ratio, baseHeight * ratio, paint);

如果您使用真實的位圖,則還需要將其縮放到正確的大小。

我認為這段代碼獲取了適當大小的位圖:

Bitmap bm = BitmapFactory.decodeResource(getResources(), R.drawable.image);

根據這篇文章: Android-DecodeResource可縮放屏幕密度的位圖嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM