Cara Membuat Mobil Bergerak di NetBeans 8.2



Cara Membuat Mobil Bergerak
1.       Langkah pertama buka aplikasi Netbeans

2.       Lalu klik New Project

3.       Kita Bikin file baru, dengan pilih type class java. Lalu tekan Next. Dan beri nama filenya.

4.       Lalu akan muncul seperti ini

5.       Lalu kita import LWJGL dengan dengan sorce code

6.       Pastikan kita sudah mengimport dulu LWJGL nya,

7.       Di dalam Public Class kita ketikan kode di bawah ini,untuk membuat atapnya
public class Projectmobil {
 float x = 400, y = 300;
    float rotation = 0;
    long lastFrame;
    int fps;
    long lastFPS;
    //Kecepatan putaran
    float kecepatan = 0f;
   
    public void start(){
        try{
            Display.setDisplayMode(new DisplayMode(800, 600));
            Display.create();
        }catch (LWJGLException e){
            e.printStackTrace();
            System.exit(0);
        }
        initGL();
        getDelta();
        lastFPS = getTime();
       
        while (!Display.isCloseRequested()){
            int delta = getDelta();
           
            update(delta);
            renderGL();
           
            Display.update();
            Display.sync(60);           
        }
        Display.destroy();
    }
 public void update(int delta){       
        rotation += kecepatan * delta;
       
        if (Keyboard.isKeyDown(Keyboard.KEY_LEFT)) x -= 0.35f * delta;
        if (Keyboard.isKeyDown(Keyboard.KEY_RIGHT)) x += 0.35f * delta;
       
        if (x < 0) x = 800;
        if (x > 800) x = 0;
        if (y < 0) y = 600;
        if (y > 600) y = 0;
       
        updateFPS();
    }
   
    public int getDelta(){
        long time = getTime();
        int delta = (int) (time - lastFrame);
        lastFrame = time;
       
        return delta;
    }
   
    public long getTime(){
        return (Sys.getTime() * 1000) / Sys.getTimerResolution();     
    }
   
    public void updateFPS(){
        if (getTime() - lastFPS > 1000){
            Display.setTitle("FPS: " + fps);
            fps = 0;
            lastFPS += 1000;
        }
        fps++;
    }
   
    public void initGL(){
        GL11.glMatrixMode(GL11.GL_PROJECTION);
        GL11.glLoadIdentity();
        GL11.glOrtho(0, 800, 0, 600, 1, -1);
        GL11.glMatrixMode(GL11.GL_MODELVIEW);
    }
   
    public void renderGL(){
        GL11.glClearColor(0.6f, 0.5f, 0.5f, 0.5f);
        GL11.glClear(GL11.GL_COLOR_BUFFER_BIT | GL11.GL_DEPTH_BUFFER_BIT);
       
        GL11.glPushMatrix();
            GL11.glTranslatef(x, y, 0);
            GL11.glRotatef(rotation, 0f, 0f, 1f);
            GL11.glTranslatef(-x, -y, 0);
          
            atap();
            GL11.glPopMatrix();
       
    }    
     public void atap(){
        GL11.glColor3f(1.0f,0.07f,0.07f);
        GL11.glBegin(GL11.GL_QUADS);
            GL11.glVertex2f(x - 30, y + 40);
            GL11.glVertex2f(x + 110, y + 40);
            GL11.glVertex2f(x + 70, y + 100);
            GL11.glVertex2f(x - 10, y + 100);      
        GL11.glEnd();
    }  

8.       Selanjutnya kita akan membuat kacanya,dengan memasukkan source code berikut :  
public void kaca1() {
        GL11.glColor3f(0.0f,1.0f,0.0f);
        GL11.glBegin(GL11.GL_QUADS);
            GL11.glVertex2f(x - 15, y + 40);
            GL11.glVertex2f(x + 90, y + 40);
            GL11.glVertex2f(x + 60, y + 90);
            GL11.glVertex2f(x - 1, y + 90);      
        GL11.glEnd();
    }

9.       Setelah itu kita akan membuat bagian body(bawah) nya,dengan memasukkan source code berikut
public void bawah(){
        GL11.glColor3f(0.0f,0.0f,0.2f);
        GL11.glBegin(GL11.GL_QUADS);
            GL11.glVertex2f(x - 180, y - 30);
            GL11.glVertex2f(x + 180, y - 30);
            GL11.glVertex2f(x + 180, y + 45);
            GL11.glVertex2f(x - 180, y + 45);
        GL11.glEnd();
    }

10.   Kemudian kita buat pijakannya dengan memasukkan source code berikut :
public void pijakan() {
        GL11.glColor3f(1.0f,1.0f,1.0f);
        GL11.glBegin(GL11.GL_QUADS);
            GL11.glVertex2f(x - 65, y - 21);
            GL11.glVertex2f(x + 65, y - 21);
            GL11.glVertex2f(x + 65, y - 15);
            GL11.glVertex2f(x - 65, y - 15);
        GL11.glEnd();
    }
  
11.   Langkah selanjutnya kita akan membuat bumpernya,dengan memasukkan source code berikut:
public void bumper() {
        GL11.glColor3f(1.0f,0.07f,0.07f);
        GL11.glBegin(GL11.GL_QUADS);
            GL11.glVertex2f(x - 187, y - 30);
            GL11.glVertex2f(x + 187, y - 30);
            GL11.glVertex2f(x + 187, y - 10);
            GL11.glVertex2f(x - 187, y - 10);
        GL11.glEnd();
    }
   
12.   Lalu kita akan membuat jarak1 untuk ban,silahkan masukkan source code berikut :
  public void jarak1() {
        GL11.glColor3f(1.0f, 1.0f, 1.0f);
        GL11.glBegin(GL11.GL_POLYGON);
            for (int i=0;i<360;i++) {
                double sudut=i*(2*Math.PI/10);
                double x = this.x-110+38*Math.cos(sudut);
                double y = this.y-30+38*Math.sin(sudut);
                GL11.glVertex2d(x,y);
            }
        GL11.glEnd();
    }
   
13.   Lalu kita akan membuat jarak2 untuk ban,silahkan masukkan source code berikut :
public void jarak2() {
        GL11.glColor3f(1.0f, 1.0f, 1.0f);
        GL11.glBegin(GL11.GL_POLYGON);
            for (int i=0;i<360;i++) {
                double sudut=i*(2*Math.PI/10);
                double x = this.x+110+38*Math.cos(sudut);
                double y = this.y-30+38*Math.sin(sudut);
                GL11.glVertex2d(x,y);
            }
        GL11.glEnd();
    }

14.   Kemudian kita buat ban1,silahkan masukkan source code berikut :
public void ban1() {
        GL11.glColor3f(0.0f, 0.0f, 0.0f);
        GL11.glBegin(GL11.GL_POLYGON);
            for (int i=0;i<360;i++) {
                double sudut=i*(2*Math.PI/10);
                double x = this.x-110+35*Math.cos(sudut);
                double y = this.y-30+35*Math.sin(sudut);
                GL11.glVertex2d(x,y);
            }
        GL11.glEnd();
    }
   
15.   Setelah itu buatlah ban dalam1,masukkan source code berikut :
    public void ban_dalam1() {
        GL11.glColor3f(1.0f, 1.0f, 1.0f);
        GL11.glBegin(GL11.GL_POLYGON);
            for (int i=0;i<360;i++) {
                double sudut=i*(2*Math.PI/10);
                double x = this.x-110+15*Math.cos(sudut);
                double y = this.y-30+15*Math.sin(sudut);
                GL11.glVertex2d(x,y);
            }
        GL11.glEnd();
    }

16.   Setelah itu buatlah ban2,masukkan source code berikut :
public void ban2() {
        GL11.glColor3f(0.0f, 0.0f, 0.0f);
        GL11.glBegin(GL11.GL_POLYGON);
            for (int i=0;i<360;i++) {
                double sudut=i*(2*Math.PI/10);
                double x = this.x+110+35*Math.cos(sudut);
                double y = this.y-30+35*Math.sin(sudut);
                GL11.glVertex2d(x,y);
            }
        GL11.glEnd();
    }
   
17.   Setelah itu buatlah ban dalam2 nya,dengan memasukkan sorce code berikut :
    public void ban_dalam2() {
        GL11.glColor3f(1.0f, 1.0f, 1.0f);
        GL11.glBegin(GL11.GL_POLYGON);
            for (int i=0;i<360;i++) {
                double sudut=i*(2*Math.PI/10);
                double x = this.x+110+15*Math.cos(sudut);
                double y = this.y-30+15*Math.sin(sudut);
                GL11.glVertex2d(x,y);
            }
        GL11.glEnd();
}

18.   Maka project siap dijalankan

Komentar

Postingan populer dari blog ini

Tutorial Load Suara pada Display LWJGL di Neatbeans