Sebagaimana tulisan sebelumnya disini akan tak ulas sedikit mengenai game engine berbasis java yang pernah tak pakek yaitu GTGE dan jME. Judul GTGE vs jME terkesan membandingkan kudua game engine ini tapi disini saya gak akan membandingkan karena memang dua “benda” ini berbeda jauh. Persamaannya ya kuduanya merupakan game engine berbasis java. Baca entri selengkapnya »
Arsip untuk Programming
Game Engine Platform Java
Bagi rekan-rekan yang suka dengan game programming pastinya tahulah dengan game engine. Bagi yang belum tahu, disini akan saya ulas sedikit. Kita tahu bahwa untuk membuat game dengan visualisasi yang bagus melibatkan komputer grafik dan matematika yang rumit. Jika kita akan membuat game dari C atau java yang bener bener dari awal yang hanya menggunakan library murni C atau java dibantu dengan library graphics rendering seperti OPEN GL, LWJGl akan memakan waktu yang lama dan pikiran yang ekstra. Karena harus faham betul tentang komputer grafik ( seperti frustum culling, LOD, format animasi, dll) beserta formula matematis ( vektor, matrik, quartenion jika kita bekerja pada 3D ). Baca entri selengkapnya »
Class Socket di Java
Port & Socket
Jika bicara tentang jaringan terlebih pemrograman jaringan tidak dapat lepas dari yang namanya socket dan port karena kedua hal ini merupakan gerbang utama pembangun suatu komunikasi dalam suatu jaringan. Terkadang kita(saya sendiri ) masih rancu dengan apa sih sebenarnya socket dan port itu????Dalam suatu jaringan antar host berkomunikasi dengan menggunakan protokol tertentu ( yang sama ). Misal saja untuk melakukan sharing file digunakan protokol samba, kemudia aplikasi web dengan http. setiap protokol melambangkan suatu service. Jadi secara singkat protokol http memunyai service aplikasi web dsb. Nah, padahal setiap host berkomunikasi dengan host lain itu tidak hanya untuk satu service saja.Namun biasanya lebih dari satu ,misal dalam waktu yang bersamaan menjalankan service ssh dan ftp. Maka untuk melakukan ini bagaimana suatu host membedakan service sat dengan yang lain???Maka dikelah yang namanya port. Port inilah yang akan melayani komunikasi untuk service tertentu. Port dinyatakan sebagai angka integer. Dimana untuk port diawah 1024 telah ditentukan service nya,misal saja untuk service ssh yaitu port 22. Request service tidak selamanya point to point atau tidak selamanya all time terhubung terus. Oleh karena itu ada software abstrak yang mengatur komudikasi dalam satu layanan. Inilah yang dinamakan sebagai socket. Sehingga dalam satu port bisa terdapat lebih dari satu socket. Atau dengan kata lain socket dapat dikatakan sebagai media komunikasi dalam suatu port ( service ). Jika diibaratkan sebagai pengirim surat Alamat Ip merupakan alamat suatu rumah . Kemudian dirumah tersebut ada pintu untuk tamu , dapur, pintu belakang,dll yang dianalogikan sebagai port. Kemudian media untuk keluar masuk surat dari pintu bisa berupa manusia, merpati dll. Nah itu kiranya bedanya socket dengan port ( setahu saya ). Jika ada yang salah mohon untuk dikoreksi!!!:D
Bermain Dengan Timer ( Delphi )
Ada properti dasar untuk mengatur timer.
timer1.enabled => bisa true atau false
timer1.interval(‘interval’) => dalam milisecond
now:=waktu sekarang.
dengan bermodal tiga properti ini kita dapat membuat durasi.
cara kerja timer
Fasilitas timer pada awalnya saya gak dong pada kapan dia dieksekusi dan diakhiri. Ternyata komponen timer akan berjalan dengan properti timer1.enabled:=true; sehingga jika kita memasukkan perintah dan memanggil suatu prosedure di dalam timer1.timer(jika timer1 di click akan muncul ) maka setiap interval yang ditentukan sebelumnya . Untuk timer1.interval(1000) akan dieksekusi secara berkala setelah 1 detik.
Sederhana Bukan!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Sementara itu dulu kali ya!!!!!1
Open dan Save file ( Delphi )
jika pada bagian nulis dan baca file ke /dari notepad telah dibahas maka untuk menentukkan direktory yang akan dibaca/ditulis gak harus manual, karena di delphi menyediakan komponen Topendialog dan Tsavedialog.
Open File dengan Topendialog
untuk keperluan ini dapat dipakai perintah: Opendialog.execute karena akan mereturn kan true atau false
if Opendialog1.Execute then
var :
filename:string;
begin
filename:opendialog1.filename;
//aksi setelah kita mendapatkan string filename membuka file yang berada di directory filename
end;
Save File dengan Tsavedialog
untuk keperluan ini dapat dipakai perintah: Savedialog.execute karena akan mereturn kan true atau false
if Savedialog1.Execute then
var :
filename:string;
begin
filename:Savedialog1.filename;
//aksi setelah kita mendapatkan string filename yaitu menyimpan file ke directory filename
end;
Read Dan Write file Notepad
Jika kita ingin buat text editor dengan delphi misalnya ato kita cuman ingin buka file notepad kemudian kita tampilkan kembali text yang ada ke program kita maka ada fasilitas delphi untuk menangani hal tersebut.
Misalnya aja kita gunakan TrichEdit component sebagai display text.
Proses Read
Maka kita dapat memasukkan text notepad ke richEdit.txt dengan cara berikut ini.
RichEdit1.Lines.LoadFromFile(filename);kalo pakek memo
memo1.Lines.LoadFromFile(filename)//filename ini berupa string dapat juga yang menunjukkan alamta directory file yang akan dibuka dengan opendialog1.filename jika pakek open dialog ( dibahas nanti )
Dengan demikian text yang ada pada notepad semuanya dapat langsung tampil di richEdit1.
RichEdit1.Lines.Add(‘text yang ingin dituliskan‘);//kalo pakek memo
memo1.Lines.Add(‘text yang ingin dituliskan‘);
maka akan menambahkan satu baris baru di richEdit1.
Proses Write
Untuk menyimpan file yang kita tulis ke richEdit maka digunakan perintah :
RichEdit1.Lines.SaveToFile(FileName); //kalo pakek memo
RichEdit1.Lines.SaveToFile(FileName);//filename ini berupa string dapat juga yang menunjukkan alamat directory file dimana file akan disimpan atau dapat dengan savedialog1.filename jika pakek open dialog ( dibahas nanti ). Hasilnya bagusan pakek memo.Karena jika pakek richedit maka headernya akan ditulis semua jadi gak sama dengan yang ditulis meski konten yang kita tulis tetap ada.
Kemudian jika kita ingin membaca text per baris dan per huruf dapat dilakukan dengan prosedure berikut:
var
F: System.Text;
kalimat:string;
huruf:char;
while not Eof(F) then//membaca jika file belum berakhir
begin
begin
//masukkan perintah yang ingin dilakukan
end;
ReadLn(F,Kalimat);//mbaca satu baris kumpulan huruf2
end
Multimedia ( Delphi )
Dalam delphi ada beberapa cara untuk dapat play suatu file sound seperti .wav. Yang pernah saya coba sih pakek Tmediaplayer komponen. Komponen ini simple meski belum lengkap. Tapi enak kok implementasinya. Ni contoh pemakaiannya
Drag komponen Tmediaplayer. Kemudian masukkan perintah berikut di dalam evet yang kita inginkan :
mediaplayer1.filename:=’filename’; //filename berupa string yang menunjuk ke directory file yang akan dijalankan tentu aja file wav.
mediaplayer1.Open;//membuka file name yang telah tersimpan
mediaplayer1.Play;//menjalankan file yang akan dibuka
mediaplayer1.pause//untuk mempause
mediaplayer1.stop;//Untuk menghentikan player nya
Moga aja bermanfaat. Selamat mencoba.
Kemudian untuk mengatur volume tidak disediakan oleh komponen ini. Sehingga kita harus menambahkan sendiri prosedure tambahan yang digunakan untuk mengatur volume. Ada beberpa versi pengaturan volume setelah saya browse( maklum gak bisa buat sendiri ) ada yang mono dan setereo. Yang mono tak coba belum bisa entah kenapa. Tapi yang setereo malah bisa. prosedure nya sebagai berikut:
tambahkan dahulu setelah implementation dengan baris berikut
uses MMSystem;
kemudian tambahkan prosedure sebagai berikut {$R *.dfm} :
procedure LeftVolume(Value: DWord);
var
Rvol,
temp: DWord;
begin { LeftVolume }
// WaveoutGetVolume() retrieves the current volume
WaveoutGetVolume(WAVE_MAPPER, @temp);
Rvol := hiword(temp);
asm
shl Rvol,16
end;
Rvol := Rvol and $ffff0000;
WaveoutSetVolume(WAVE_MAPPER, Value or Rvol)
end; { LeftVolume }
procedure RightVolume(Value: DWord);
var
Lvol,
temp: DWord;
begin { RightVolume }
// WaveoutGetVolume() retrieves the current volume
WaveoutGetVolume(WAVE_MAPPER, @temp);
Lvol := Loword(temp);
asm
shl value,16
end;
Value := Value and $ffff0000;
WaveoutSetVolume(WAVE_MAPPER, Value or Lvol)
end; { RightVolume }
Maka prosedure leftvolume dan rightvolume siap dipanggi sebelum mediaplayer1.play.
Tipe data ( Delphi )
Dalam delphi tipe data nya hampir sama dengan yang lain ada integer ,boolean,string,char,extended,cardinal,real,dll. masing masing punya karakteristk sendiri2. Dalam pengolahan data ini delphi memberikan fasilitas convert tipe data yang ( menurut saya ) lebih enak dibanding yang lain ( semisal VB ). Seperti jika kita ingin ubah dari string atau char ke integer atau cardinal maka ada perintah strtoint(variable integer,cardinal) ,Kemudian jika kita ingin merubah sebaliknya cukup inttostr(variable string) . Masih ada lagi untuk data desimal aeperti real,double pokoknya yang pecahan bisa makai floatto str(variable real/double). Mungkin itu dulu jika ada lagi nanti tak tambahin.Doakan aja dapat yang lain