1.เอารูปพื้นหลังกับตัวละครไปใส่ไว้ที่ android/assets (เพราะทุกอย่างอ้างอิงทรัพยากรที่นี้)
2.สร้างตัวแปรทั่วไป
static final Color BACKGROUND_COLOR = new Color(0.39f, 0.58f,
0.92f, 1.0f);
static final float WORLD_TO_SCREEN = 1.0f / 100.0f;
static final float SCENE_WIDTH = 8.00f;
static final float SCENE_HEIGHT = 4.80f;
OrthographicCamera camera;
Viewport viewport;
Texture cavemanTexture;
SpriteBatch batch;
3.ฟังก์ชัน create()
camera = new OrthographicCamera();
viewport = new FitViewport(SCENE_WIDTH, SCENE_HEIGHT, camera);
batch = new SpriteBatch();
cavemanTexture = new Texture(Gdx.files.internal("bg.jpg"));
cavemanTexture.setFilter(TextureFilter.Nearest, TextureFilter.Nearest);
4.ฟังก์ชัน dispose
batch.dispose();
cavemanTexture.dispose();
--------------------------------------------------------------------------------------------------
code เต็มๆ
package com.ska.game;
import com.badlogic.gdx.ApplicationAdapter;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.graphics.GL20;
import static com.badlogic.gdx.graphics.GL20.GL_TRIANGLE_STRIP;
import com.badlogic.gdx.graphics.OrthographicCamera;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.Texture.TextureFilter;
import com.badlogic.gdx.graphics.g2d.BitmapFont;
import com.badlogic.gdx.graphics.g2d.Sprite;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.badlogic.gdx.graphics.g2d.TextureRegion;
import com.badlogic.gdx.math.Vector3;
import com.badlogic.gdx.utils.viewport.FitViewport;
import com.badlogic.gdx.utils.viewport.Viewport;
public class ska_ox_game extends ApplicationAdapter {
static final Color BACKGROUND_COLOR = new Color(0.39f, 0.58f,
0.92f, 1.0f);//set สีพื้นหลัง
static final float WORLD_TO_SCREEN = 0.2f / 100.0f; //ยิ่งมากภาพยิ่ง zoom
static final float SCENE_WIDTH = 8.00f; //ขนาดจอ กว้าง 800
static final float SCENE_HEIGHT = 4.80f;//ขนาดจอ สูง 480
OrthographicCamera camera; //ตัวแปรกล้อง
Viewport viewport; //ตัวแปรช่องช่อง
Texture bg_t, cavemanTexture;//ตัวแปร รูปพื้นหลัง,รูปตัวละคร
SpriteBatch batch; //ภู่กัน
@Override
public void create() {
camera = new OrthographicCamera(); //สร้าง ตัวแปรกล้อง
viewport = new FitViewport(SCENE_WIDTH, SCENE_HEIGHT, camera); //กำหนดช่อง ขนาดจอ และกล้องที่ใช่
batch = new SpriteBatch(); //สร้างภู่กัน
bg_t = new Texture(Gdx.files.internal("bg.jpg")); //load รูปพื้นหลัง
cavemanTexture = new Texture(Gdx.files.internal("c1.jpg")); //load รูปตัวละคร
cavemanTexture.setFilter(TextureFilter.Nearest, TextureFilter.Nearest); //ใส่ Filter
}
@Override
public void render() {
Gdx.gl.glClearColor(BACKGROUND_COLOR.r, BACKGROUND_COLOR.g,
BACKGROUND_COLOR.b, BACKGROUND_COLOR.a);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
batch.setProjectionMatrix(camera.combined);
batch.begin();
int width = bg_t.getWidth();
int height = bg_t.getHeight();
float originX = width * 0.5f;
float originY = height * 0.5f;
batch.draw(bg_t, // Texture
-originX, -originY, // x, y
originX, originY, // originX, originY
width, height, // width, height
WORLD_TO_SCREEN, WORLD_TO_SCREEN, // scaleX, scaleY
0.0f, // rot (degrees)
0, 0, // srcX, srcY
width, height, // srcWidth, srcHeight
false, false); // flipX, flipY
width = cavemanTexture.getWidth();
height = cavemanTexture.getHeight();
originX = width * 0.2f;
originY = height * 0.2f;
batch.draw(cavemanTexture, // Texture
-originX, -originY, // x, y
originX, originY, // originX, originY
(float) (width*0.5), (float) (height*0.5), // width, height
WORLD_TO_SCREEN, WORLD_TO_SCREEN, // scaleX, scaleY
0.0f, // rot (degrees)
0, 0, // srcX, srcY
width, height, // srcWidth, srcHeight
false, false); // flipX, flipY
batch.end();
}
@Override
public void dispose() {
batch.dispose();
cavemanTexture.dispose();
}
}
ผลที่ได้จากการรัน
รูปที่ใช้
ไม่มีความคิดเห็น:
แสดงความคิดเห็น