Pages

Cara Membuat Canvas pada Android

Penulis pada saat ini fokus cara membuat game pada Android, jadi untuk tutorial android selanjutnya penulis akan menjelaskan bagian-bagian yang berhubungan dengan membuat game dengan android. yang pasti penulis beri adalah coding android yang sesederhana mungkin. tetap ikuti terus blog ini ya.. :D

Untuk pembahasan pertama adalah, kita akan membahas cara membuat Canvas dalam android, bagi yang belum bisa membayangkan fungsi canvas, dapat dilihat pada orang yang gemar melukis, sebelum melukis pelukis akan menyiapkan canvas, kuas, cat dsb. Fungsi canvas adalah tempat dimana pelukis akan menggambar. Jadi dapat disimpulkan bahwa canvas dalam android adalah tempat game atau objek akan diletakkan. semoga penjabaran di atas dapat dimengerti :D


Untuk membuat canvas dalam android, langsung aja dipraktekkan :
  1. Buka Eclipse
  2. Pada Eclipse File - New - Project - Android - Android Project - Next
  3. Kemudian pada jendela New Android Project isikan field berikut :
    1. Project Name : Game
    2. Build Target : Android 2.2
    3. Aplication name : Game
    4. Package Name : jhohannes.purba
    5. Create Activity : MainActivity
    6. Kemudian klik Finish  
  4. Buka MainActivity.java kemudian ketikkan source code di bawah ini :
  5. Kemudian buat class baru (klik kanan pada package jhohannes.purba -> New - Class), kemudian ketik Kanvas, sehingga Anda sudah memiliki 2 class, yaitu MainActivity.java dan Kanvas.java
  6. Kemudian Buka MainActivity.java lalu ketikkan source code berikut :
    1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    package jhohannes.purba;
    
    import android.app.Activity;
    import android.os.Bundle;
    
    public class MainActivity extends Activity {
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(new Kanvas(this));
        }
    }
    Perhatikan pada baris 10, pada defaultnya yang digunakan adalah main.xml, tetapi karna kita akan membuat canvas, maka kita tidak memanggil layaout xml.
  7. Kemudian buka Kanvas.java, kemudian ketikkan source code berikut :
    1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    package jhohannes.purba;
    
    import android.content.Context;
    import android.graphics.Canvas;
    import android.graphics.Color;
    import android.view.SurfaceHolder;
    import android.view.SurfaceView;
    
    public class Kanvas extends SurfaceView{
    
     SurfaceHolder surfaceHolder;
    
     public Kanvas(Context context) {
      super(context);
    
      surfaceHolder = getHolder();
      surfaceHolder.addCallback(new SurfaceHolder.Callback() {
       public void surfaceDestroyed(SurfaceHolder holder) {}
       public void surfaceCreated(SurfaceHolder holder) {
        Canvas canvas = surfaceHolder.lockCanvas(null);
        onDraw(canvas);
        holder.unlockCanvasAndPost(canvas);    
       }
       public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {}
      });
     }
    
    
     @Override
     protected void onDraw(Canvas canvas) {
      super.onDraw(canvas);
      canvas.drawColor(Color.WHITE);
     }
    }
    
  8. Jika dijalankan, maka akan kelihatan hanya layar putih, untuk mengganti warna background bisa anda lakukan pengeditan pada baris 32(canvas.drawColor(Color.WHITE);), terserah anda mau membuat warna backgroundnya.
  9. Untuk memasukkan gambar, coba anda edit file Kanvas.java, sehingga menjadi seperti source code berikut :
    1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    package jhohannes.purba;
    
    import android.content.Context;
    import android.graphics.Bitmap;
    import android.graphics.BitmapFactory;
    import android.graphics.Canvas;
    import android.graphics.Color;
    import android.view.SurfaceHolder;
    import android.view.SurfaceView;
    
    public class Kanvas extends SurfaceView{
    
     SurfaceHolder surfaceHolder;
     Bitmap gambarBitmap;
     
     public Kanvas(Context context) {
      super(context);
    
      surfaceHolder = getHolder();
      surfaceHolder.addCallback(new SurfaceHolder.Callback() {
       public void surfaceDestroyed(SurfaceHolder holder) {}
       public void surfaceCreated(SurfaceHolder holder) {
        Canvas canvas = surfaceHolder.lockCanvas(null);
        onDraw(canvas);
        holder.unlockCanvasAndPost(canvas);    
       }
       public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {}
      });
      
      gambarBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
     }
    
    
     @Override
     protected void onDraw(Canvas canvas) {
      super.onDraw(canvas);
      canvas.drawColor(Color.WHITE);  
      canvas.drawBitmap(gambarBitmap, 10, 10, null);
     }
    }
    
  10. Sudah selesai, dan gambar sudah ada kelihatan di dalam Canvas



Jhohannes H Purba Coding Sederhana October 01, 2012

4 comments:

  1. That is an extremely smart written article. I will be sure to bookmark it and return to learn extra of your useful information. Thank you for the post. I will certainly return.

    ReplyDelete
  2. untuk setiap fungsi" scrip yang anda pke knapa tidak dijelaskan sekalian hehe

    Cara menggunakan http injector untuk android

    ReplyDelete
  3. Thank, Visit our web because lots of info and interesting things in it.


    http://167.114.42.167

    ReplyDelete
  4. Hi, Really great effort. Everyone must read this article. Thanks for sharing.

    ReplyDelete