Menampilkan Gambar di Surface View & View (Android Game)

Untuk menampilkan image di android ada beberapa cara yang bisa digunakan, yaitu dengan memanfaatkan kelas View dan SurfaceView. Kelas View dan SurfaceView merupakan bagian dari subclass yaitu android.view. Keduanya merupakan layout yang dimiliki oleh android. Objek View menghandle ukuran, drawing, perpindahan fokus, scrolling, key/gestur untuk area layar. Gambar yang akan diletakkan pada layout View membutuhkan satu fungsi onDraw() untuk me write gambar tersebut pada layout android. onDraw() pada kelas View dapat digunakan langsung dan dieksekusi langsung oleh kelas yang menyertakan(extends) Kelas View.

Contoh :

package com.example.droimage;

import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.view.View;
import android.view.SurfaceView;

public class GameView extends View {
private Bitmap bmp;

public GameView(Context context) {
super(context);
// TODO Auto-generated constructor stub
bmp = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
}

public void onDraw(Canvas canvas){
canvas.drawColor(Color.BLACK);
canvas.drawBitmap(bmp, 10,10, null);
}

}

Sedangkan penggunaan onDraw() pada kelas SurfaceView yang juga berasal atau kelas turunan dari Views, tidak bisa langsung digunakan, Kelas SurfaceView akan membutuhkan callback listener untuk user dapat menggambar di android.  dalam method surfaceCreated (fungsi yang dipanggil ketika view telah terbuat), Canvas dapat diimplementasikan dan dapat memanggil method onDraw().

Agar Canvas dapat digunakan, anda dapat memanggil dan menambahkan method lockCanvas agar user dapat menggambar pada layout android.

public class GameView extends SurfaceView {

private Bitmap bmp;

private SurfaceHolder holder;

public GameView(Context context) {

super(context);

holder = getHolder();

holder.addCallback(new SurfaceHolder.Callback() {

@Override

public void surfaceDestroyed(SurfaceHolder holder) {

}

@Override

public void surfaceCreated(SurfaceHolder holder) {

Canvas c = holder.lockCanvas(null);

onDraw(c);

holder.unlockCanvasAndPost(c);

}

@Override

public void surfaceChanged(SurfaceHolder holder, int format,

int width, int height) {

}

});

bmp = BitmapFactory.decodeResource(getResources(), R.drawable.icon);

}

@Override

protected void onDraw(Canvas canvas) {

canvas.drawColor(Color.BLACK);

canvas.drawBitmap(bmp, 10, 10, null);

}

}

Priview :

View SurfaceView

Image View

Info UAS Pemrograman WEB II Kelas Eksekutif

Buatlah web profile masing – masing mahasiswa, dengan ketentuan :

  • Dapat menambahkan, menghapus, dan mengubah user, user nantinya juga dapat login ke web yang bersangkutan dengan hanya bisa menambahkn berita, Sedangkan login admin memiliki akses ke seluruh fitur web.
  • Web juga berisi berita, dapat menambahkan, mengedit, ataupun menghapus.
  • Selain memiliki form login, juga memiliki form buku tamu.
  • Pada web, menampilkan berita2 dan tampilan web juga harus baik. (bisa menggunakan CSS)
  • Projek web dikerjakan per individu mahasiswa, menggunakan PHP, kombinasi HTML, CSS, & MysQL.
  • Projek web di upload pada hosting yang gratis atau berbayar.
  • Domain atau URL web yang telah dihostingkan, dikirimkan ke mail saya (wbrata@gmail.com) beserta nama lengkap, nim, kelas, dan jam kuliah.
  • Subjek mail : UAS KELAS EKSEKUTIF
  • Pengumpulan/pengiriman terakhir projek uas berdasarkan tanggal yang telah ditentukan kampus (21-22 Februari 2015), jika masih belum selesai saya beri waktu sampai tanggal 25-2-2015

Info UAS Pemrograman JAVA & WEB II T.A. 2014/2015

Sebelum ujian UAS Pemrograman JAVA dilaksanakan ada beberapa info/pengumuman :

  1. Informasi nama-nama mahasiswa/i yang tidak diperkenankan mengikuti UAS (BLOK MERAH):kelas_WEB_E4 kelas_WEB_D3 kelas_JAVA_D3 kelas_JAVA_C3
    1. Kisi – kisi UAS Pemrograman JAVA dimulai dari pertemuan awal sampai dengan mobile aplikasi. Siapkan juga tentang kemampuan membaca program.
    2. Untuk kelas pemrograman WEB 2, membuat projek WEB dengan konsep Web + bootstrap dengan pertimbangan, pada website harus ada konsep2 yang telah dipelajari mulai dari pertemuan awal sampai framework. Untuk mahasiswa yang merancang projek dengan framework + bootstrap maka ada penilaian lebih.
      1. Dikerjakan per individu mahasiswa/i.
      2. Hasil dari projek web harus di UPLOAD di HOSTING (baik yang free atau bayar).
      3. URL hasil projek (hasil hosting) di kirim ke mail saya : wbrata@gmail.com, dengan subjek “url web nim_mhs” , isi mail : NAMA, NIM, KELAS, HARI.
      4. file projek web juga dikirimkan ke mail.
      5. pengumpulan terakhir (baik pengiriman url atau mail) KAMIS tanggal 12 – 02 – 2015 , jam 06.00. Diluar ketentuan itu tidak akan diterima.

Judul Projek UAS PBO 2014 (Genap)

UAS pada kuliah PBO memiliki hasil akhir yang nantinya berupa produk jadi dari hasil karya mahasiswa. Mahasiswa harus mengimplementasikan baik dari teori ataupun praktikum yang sudah dikerjakan menjadi sebuah program yang dapat menerapkan OOP. Berikut judul-judul projek PBO semester genap (2014) dan grup dari mahasiswa :

 

  1. Sistem informasi KRS mahasiswa STMIK ASIA
  2. Sistem informasi peminjaman buku perpustakaan STMIK ASIA
  3. Sistem informasi penarikan uang (ATM)
  4. Sistem pemesanan barang
  5. Sistem penerima beasiswa mahasiswa STMIK ASIA
  6. Sistem informasi travel ASIA
  7. Sistem akademik sekolah ASIA
  8. Sistem ujian online ASIA
  9. Sistem penjualan barang-barang komputer dan aksesoris komputer
  10. Sistem perbaikan komputer
  11. sistem informasi order barang
  12. sistem informasi penjualan rumah
  13. sistem informasi persediaan obat
  14. sistem toko buku
  15. sistem penerimaan mahasiswa baru
  16. sistem informasi service kendaraan
  17. sistem informasi koperasi simpan pinjam
  18. sistem jasa pengiriman barang
  19. Sistem informasi wisata di jawa timur
  20. Membuat sistem abseni dan cuti karyawan

 

untuk file yang berisi tema-tema projek dan ketentuan/syarat2 bisa didownload disni :

Kategori Projek lanjut

 

 

Analysis Game Pac-Man

Bagi mahasiswa yang ingin mencari refernsi jurnal tentang mengontrol tingkah laku dari sebuah karakter game yang dibuat bisa merujuk pada salah satu artikel ini yang ditulis shaun dkk.

 

Real Time Game Design of Pac-Man

 

kutipan penulis :

Permasalahan game pac-man pada awal penelitian yang dilakukan adalah logika karakter ghost pada game yang tidak realistis beradaptasi  pada kemampuan karakter pengguna (pac-man) dan pergerakannya. Sebagai contoh, karakter ghost tidak bergerak menuju area dimana pac-man harus pergi menyelesaikan level (contoh area dengan banyak pelet/node). Karakter ghost atau karakter musuh belum memiliki interaksi yang baik terhadap karakter lainnya/karakter pengguna, maka ditambahkan sebuah logika fuzzy rule based atau fuzzy if then rule sebagai dasar untuk kontrol perilaku dari karakter musuh/ghost. Ada beberapa rule yang digunakan oleh karakter musuh yaitu hunting, defense, shy ghost, dan random. Penerapan rule hunting (menyerang pac-man) sebagai berikut (Shout, et al, 2006) :

–        If (pacman_near AND skill_good) then hunting_behavior

–        If (pacman_near AND skill_med AND pellet_med) then hunting_behavior

–        If (pacman_near AND skill_med AND pellet_long) then hunting_behavior

–        If (pacman_med AND skill_good AND pellet_long) then hunting_behavior

–        If (pacman_med AND skill_med AND pellet_long) then hunting_behavior

–        If (pacman_far AND skill_good AND pellet_long) then hunting_behavior

 

Sedangkan penerapan rule defense :

  • If (pacman_far and skill_bad and ghost_far and pellet_med) then defense_behavior
  • If (pacman_far and skill_bad and ghost_med and pellet_short) then defense_behavior
  • If (pacman_far and skill_bad and ghost_med and pellet_med) then defense_behavior
  • If (pacman_far and skill_med and ghost_far and pellet_short) then defense_behavior
  • If (pacman_med and skill_bad and ghost_far and pellet_short) then defense_behavior