วันพฤหัสบดีที่ 5 มกราคม พ.ศ. 2560

Day 1 ทำตามหนังสือวันแรก

จากหนังสือ Libgdx Cross-platform Game Development Cookbook
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();
    }

}
ผลที่ได้จากการรัน
รูปที่ใช้



ไม่มีความคิดเห็น:

แสดงความคิดเห็น

โปรแกรม ปิดโปรแกรมอื่น และดูโปรแกรมที่ทำงาน

โปรแกรมนี้ใช้ภาษา python 2.7 (ไม่เคยเขียนเพราะปกติไม่ชอบภาษา script แต่ต้องใช้งานบางอย่าง) import subprocess import re import os white_l...