วันพุธที่ 7 มิถุนายน พ.ศ. 2560

ตามรอย Super Mario Bros ฉบับ แปลมั่ว สำหรับตอนที่ 2(สร้างฉาก)

         การอธิบายหรือแปลอาจจะมั่วไปเยอะแต่ก็เพราะอยากให้เป็นจุดเริ่มต้นของคนที่อยากทำเกมได้มีแนวทางศึกษา

ตอนที่ 1 เป็นวิธี setup ไม่ขอพูดถึงไปหารลองกันเองได้นะครับ

ขื่อ project คือ c_Super_Mario
code ที่ใช้ c_Super_Mario.java
package com.mygdx.game;

import com.badlogic.gdx.ApplicationAdapter;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.GL20;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;

public class c_Super_Mario extends ApplicationAdapter {
SpriteBatch batch;
Texture img;
@Override
public void create () {
batch = new SpriteBatch();
img = new Texture("badlogic.jpg");
}

@Override
public void render () {
Gdx.gl.glClearColor(1, 0, 0, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
batch.begin();
batch.draw(img, 0, 0);
batch.end();
}
@Override
public void dispose () {
batch.dispose();
img.dispose();
}
}
c_Super_Mario.java เปลี่ยน code เป็น
package com.mygdx.game;

import com.badlogic.gdx.ApplicationAdapter;
import com.badlogic.gdx.Game;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.GL20;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;

public class c_Super_Mario extends Game {
SpriteBatch batch;
Texture img;
@Override
public void create () {
batch = new SpriteBatch();
                setScreen(new PlayScreen(this)); //เพื่อเรียก ฉากที่สร้างขึ้น PlayScreen
}

@Override
public void render () {
super.render();
}
@Override
public void dispose () {
batch.dispose();
}
}
สร้างไฟล์ 1 ไฟล์ PlayScreen.java เพื่อไว้ทำฉากในเกม
package com.mygdx.game;

import com.badlogic.gdx.Game;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.Screen;
import com.badlogic.gdx.graphics.GL20;
import com.badlogic.gdx.graphics.Texture;

/**
 *
 * @author kitty
 */
public class PlayScreen implements Screen {

    c_Super_Mario game;
    Texture texture;

    public PlayScreen(Game game) {
        this.game = (c_Super_Mario) game; //ถ่ายทอดค่าต่างๆของ class c_Super_Mario ในตัวแปร เฟทำ
        texture = new Texture("badlogic.jpg"); //โหลดไฟล์ รูป
    }

    @Override
    public void show() {
    }

    @Override
    public void render(float f) {
        Gdx.gl.glClearColor(1, 0, 0, 1);
        Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
        game.batch.begin();
        game.batch.draw(texture, 0, 0); //วาดรูป 
        game.batch.end();
    }

    @Override
    public void resize(int i, int i1) {
    }

    @Override
    public void pause() {
    }

    @Override
    public void resume() {
    }

    @Override
    public void hide() {
    }

    @Override
    public void dispose() {
    }

}
เมื่อลองรันดูแล้วจะพบว่าสามารถแสดงได้เหมือนตัวอย่าง

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

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

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

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