วันเสาร์ที่ 24 กรกฎาคม พ.ศ. 2553

เขียนเกม JAVA ฉบับเริ่มต้น (ตอน 1)

/*
เขียนเกม JAVA ฉบับเริ่มต้น

ก่อนอื่นจะมาแนะนำกันก่อนว่ามันต้องมีอะไรมั่ง
  - J2SE ( Java 2 Standard Environment ) ตามชื่อจ้า สภาพแวดล้อมพื้นฐานของ Java ที่ทำงานบน Personal Computer (PC) และเจ้า J2SE มันจะประกอบไปด้วย 2 อย่าง คือ
              - JDK (Java Development Kit)    ตัวนี้ ใช้ในการสั่งแปรภาษา จาวา ให้อยุ่ในรูปแบบของ Byte Code นำไปให้ JVM อ่านต่อไป
              - JRE (Java Runtime Environment)   ตัวนี้ ทำหน้าที่เรียกเอา Byte Code ที่อ่านจาก JVM ออกมาเป็น Output ให้เราได้เห็นๆกันอยู่ ( ว่าได้ว่า คือตัวเล่น Java Application )

  - Notepad  หวังว่าทุกคนคงจะรู้จัก Notepad ถ้าไม่รู้จัก กดที่ Start->Run->พิพม์["Notepad"]

ขั้นตอนต่อมาก็มาเขียน Code กัน ผมจะเริ่มจากตัวที่หาง่ายๆก่อนเลยนั่นคือ Java2D API ^^
*/





/* ส่วนี้ใช้สำหรับโหลด class จาก packageใน J2SE */
import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Toolkit;


public class Game extends JPanel implements Runnable{ /*Main Class*/
          private boolean running;   /* ตัวเช๊คในการตรวจสอบเงื่อนไขในการวนซ้ำของเกม */
          private Thread animator;   /* Thread ของเกม */
 private JFrame frame; /* หน้าต่างของเกม */
 private final String TITLENAME = "Hello World";  /* ชื่อที่จะแสดงบนแทบข้างบน */
 private final int WIDTH = 800,HEIGHT = 600;   /*  ขนาดความ กว้าง x สูง */

 /* Game Initial*/
 public Game(){
frame = new JFrame(TITLENAME);

frame.getContentPane().add(this);

frame.setSize(WIDTH,HEIGHT);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setResizable(false);
frame.setVisible(true);
 }

 /*  Method ในการสั่งวาดรูป  */
          public void paint(Graphics graphics){
                   Graphics2D g;

                   try{
                        g = (Graphics2D)graphics;
g.setColor(java.awt.Color.BLACK);
g.fillRect(0,0,WIDTH,HEIGHT);



                        Toolkit.getDefaultToolkit().sync();
                        g.dispose();
                        repaint();
                   }catch(Exception err){}
          }

 /*   Main  Loop   ( Thread run )  */
          public void run(){
                   while(running){
update();

try{
Thread.sleep(10);
}catch(InterruptedException err){}
                   }
                   exit();
          }

 /*  ตัวนี้ใช้ในการสั่งอัพเกรดเงื่อนไข  */
 public void update(){
 }

 /*  Method ในการปิดหน้าต่าง  */
          public void exit(){
                    running = false;
                    animator.stop();
                    System.exit(0);
          }


 /*  Method ในการสั่งเริ่มโปรแกรม  */
          public void startGame(){
                   if(animator == null){
                           animator = new Thread(this);
                           animator.start();
                   }else exit();
          }

          /*Main Method*/
          public static void main(String[] args){
                Game app = new Game();

app.startGame();
          }
}

2 ความคิดเห็น:

  1. ผมอย่ากเขียนเกม JaVa เป็นครับ ช่วยผมหน่อย

    ตอบลบ
  2. Gmail : sompholwilaza101@gmail.com
    ติดต่อผมหน่อย ครับผมอย่ากรู้จักการ สร้าง เกม Java คือผมจะไปเเข่งขันการสร้างเกม Java
    เฟสบุ๊ค : จ.เจนคนใหม่ไม่ใช่คนเดิมอีกต่อไป

    ตอบลบ