• Tidak ada hasil yang ditemukan

AriFadli - Menggerakkan Objek Pada Delphi

N/A
N/A
Protected

Academic year: 2021

Membagikan "AriFadli - Menggerakkan Objek Pada Delphi"

Copied!
9
0
0

Teks penuh

(1)

MENGGERAKKAN

MENGGERAKKAN

OBJEK PADA DELPHI

OBJEK PADA DELPHI

Para programmer biasanya perlu menggerakkan objek pada Delphi, Para programmer biasanya perlu menggerakkan objek pada Delphi, baik itu dengan menggunakan kursor (mouse), maupun dengan tombol panah baik itu dengan menggunakan kursor (mouse), maupun dengan tombol panah atau tombol lainnya pada keyboard. Fungsi ini biasanya dibuat untuk  atau tombol lainnya pada keyboard. Fungsi ini biasanya dibuat untuk  kepentingan game.

kepentingan game.

Langsung saja, pertama aku buat contoh menggerakkan objek/karakter pada Langsung saja, pertama aku buat contoh menggerakkan objek/karakter pada Delphi dengan kursor.

Delphi dengan kursor. 1.

1.  Jalankan Delphi Jalankan Delphi 2.

2. Kemudian pasang sebuah objek pada form, terserah kamu. AkuKemudian pasang sebuah objek pada form, terserah kamu. Aku menggunakan TShape dengan property dan valu

menggunakan TShape dengan property dan value sebagai berikut :e sebagai berikut :  TShape

 TShape

-- Brush > color : clRedBrush > color : clRed -- Shape : stCircleShape : stCircle

(2)

onMouseMove. Klik ganda pada area putih. Kemudian tambahkan listing  berikut :

  procedure TForm1.FormMouseMove(Sender: TObject; Shift:  TShiftState; X,  Y: Integer); begin objek.Left := X ; objek.Top := Y ; end;

4. Coba running program, hasilnya objek telah mengikuti keman pun kursok  bergerak. Namun ada yang kurang, pointer dari kursor berada di luar objek, itu karena objek tersebut dasarnya berbentuk kotak, dan pointer mengarah ke pada koordinat x : 0, dan y : 0 dari objek.

Nah, bagaimana caranya agar pointer kursor menunjuk ke arah tengah. Coba tambahkan listing berikut :

  procedure TForm1.FormMouseMove(Sender: TObject; Shift:  TShiftState; X,

 Y: Integer); begin

objek.Left := X - objek.width; objek.Top := Y  – objek.height; end;

(3)

5. Running program, dan hasilnya

  Titik registrasinya berubah, pointer akan menunjuk di koordinat dari besarnya nilai width dan height dari objek.

  Tujuan kita sebenarnya adalah mengarahkan pointer tepat berada ditengah objek, jadi coba yang ini, pasti benar…

  procedure TForm1.FormMouseMove(Sender: TObject; Shift:  TShiftState; X,

 Y: Integer); begin

objek.Left := X - objek.width div 2; objek.Top := Y  – objek.height div 2; end;

(4)

namun ada yang kurang, kursor masih bisa bergerak leluasa di wilayah objek. Bagaimana mengatasinya?

Mudah, tinggal menubah property enabled dari objek menjadi false.

Dan hasilnya sekarang sudah sempurna, kursor tetap mengarah ditengah objek kenapa pun kursor diarahkan.

(5)

6. Nah, langkah terakhir hilangkan kursor manual yang bergerak di form. Mudah, tinggal mengubah property cursor pada form1 menjadi crNone. Dan sekarang kamu udah punya objek/karakter yang bisa digerakkan di form.

Oh iya, mengubahnya gak bisa langsung di object inspector tab properties, kita mesti mengubahnya lewat events. Caranya, aktifkan form1, kemudian masuk ke events, pilih onCreate. Klik ganda pada area putih, tambahkan listing berikut :

 procedure TForm1.FormCreate(Sender: TObject); begin

form1.Cursor := crNone; end;

akhirnya, baru sempurna….

Nah, lanjut ke model pergerakan objek menggunakan tombol di keyboard. Pertama-tama kita mesti tahu dulu kode-kode untuk  mengidentifikasi tombol yang kita tekan. Berikut beberapa kode tombolnya (virtual key):

 VK_LBUTTON = Left mouse button  VK_RBUTTON = Right mouse button  VK_CANCEL = Control+Break 

(6)

 VK_BACK = Backspace key   VK_TAB = Tab key 

 VK_CLEAR = Clear key   VK_RETURN = Enter key   VK_SHIFT = Shift key   VK_CONTROL = Ctrl key   VK_MENU = Alt key 

 VK_PAUSE = Pause key 

 VK_CAPITAL = Caps Lock key   VK_KANA = Used with IME  VK_HANGUL = Used with IME  VK_JUNJA = Used with IME  VK_FINAL = Used with IME  VK_HANJA = Used with IME  VK_KANJI = Used with IME  VK_CONVERT = Used with IME

 VK_NONCONVERT = Used with IME  VK_ACCEPT = Used with IME

 VK_MODECHANGE = Used with IME  VK_ESCAPE = Esc key 

 VK_SPACE = Space bar  VK_PRIOR = Page Up key   VK_NEXT = Page Down key   VK_END = End key 

 VK_HOME = Home key   VK_LEFT = Left Arrow key   VK_UP = Up Arrow key 

 VK_RIGHT = Right Arrow key   VK_DOWN = Down Arrow key   VK_SELECT = Select key 

 VK_PRINT = Print key (keyboard-specific)  VK_EXECUTE = Execute key 

 VK_SNAPSHOT = Print Screen key   VK_INSERT = Insert key 

 VK_DELETE = Delete key   VK_HELP = Help key 

 VK_LWIN = Left Windows key (Microsoft keyboard)  VK_RWIN = Right Windows key (Microsoft keyboard)  VK_APPS = Applications key (Microsoft keyboard)  VK_NUMPAD0 0 = key (numeric keypad)

 VK_NUMPAD1 1 = key (numeric keypad)  VK_NUMPAD2 2 = key (numeric keypad)

(7)

 VK_NUMPAD3 3 = key (numeric keypad)  VK_NUMPAD4 4 = key (numeric keypad)  VK_NUMPAD5 5 = key (numeric keypad)  VK_NUMPAD6 6 = key (numeric keypad)  VK_NUMPAD7 7 = key (numeric keypad)  VK_NUMPAD8 8 = key (numeric keypad)  VK_NUMPAD9 9 = key (numeric keypad)

 VK_MULTIPLY = Multiply key (numeric keypad)  VK_ADD = Add key (numeric keypad)

 VK_SEPARATOR = Separator key (numeric keypad)  VK_SUBTRACT = Subtract key (numeric keypad)  VK_DECIMAL = Decimal key (numeric keypad)  VK_DIVIDE = Divide key (numeric keypad)  VK_F1 = F1 key   VK_F2 = F2 key   VK_F3 = F3 key   VK_F4 = F4 key   VK_F5 = F5 key   VK_F6 = F6 key   VK_F7 = F7 key   VK_F8 = F8 key   VK_F9 = F9 key   VK_F10 = F10 key   VK_F11 = F11 key   VK_F12 = F12 key   VK_F13 = F13 key   VK_F14 = F14 key   VK_F15 = F15 key   VK_F16 = F16 key   VK_F17 = F17 key   VK_F18 = F18 key   VK_F19 = F19 key   VK_F20 = F20 key   VK_F21 = F21 key   VK_F22 = F22 key   VK_F23 = F23 key   VK_F24 = F24 key 

 VK_NUMLOCK = Num Lock key   VK_SCROLL = Scroll Lock key 

  VK_LSHIFT = Left Shift key (only used with GetAsyncKeyState and GetKeyState)

  VK_RSHIFT = Right Shift key (only used with GetAsyncKeyState and GetKeyState)

(8)

GetKeyState)

  VK_RCONTROL = Right Ctrl key (only used with GetAsyncKeyState and GetKeyState)

  VK_LMENU = Left Alt key (only used with GetAsyncKeyState and GetKeyState)

  VK_RMENU = Right Alt key (only used with GetAsyncKeyState and GetKeyState)

 VK_PROCESSKEY = Process key   VK_ATTN = Attn key 

 VK_CRSEL = CrSel key   VK_EXSEL = ExSel key 

 VK_EREOF = Erase EOF key   VK_PLAY = Play key 

 VK_ZOOM = Zoom key 

 VK_NONAME = Reserved for future use  VK_PA1 = PA1 key 

 VK_OEM_CLEAR = Clear key 

Sepertinya semua tombol di keyboard ada di atas kode virtualnya. Jadi kode tersebut berfungsi untuk memanggil tombol yang ditekan.

 Ayo praktekkan :

1.  Jalankan Delphi

2.   Tambahkan Tshape dengan property dan nilai, seperti program yang  kita buat sebelumnya.

(9)

3. Logika dalam membuat program ini bisa dengan menggunakan aliran

case of. Kita coba membuatnya dengan aliran if then else terlebih

dahulu.

4. aktifkan form1 dan masuk ke tab events di object inspector. Klik ganda pada area putih disebelahnya kemudian isikan listing seperti berikut :   procedure TForm1.FormKeyDown(Sender: TObject; var Key:  Word;

Shift: TShiftState); begin

case key of 

 VK_LEFT : shape1.Left := shape1.Left - 1;  VK_RIGHT : shape1.Left := shape1.Left + 1;  VK_UP : shape1.Top := shape1.Top - 1;

 VK_DOWN : shape1.Top := shape1.Top + 1; end;

end;

sedikit penjelasan :

 VK_LEFT : shape1.left := shape1.left – 1;

  Artinya : jika tombol panah kiri ditekan (VK_LEFT) maka posisi shape1 (secara mendatar) sama dengan posisi shape1 pada posisi awal dikurangi 1.

 Jadi, misalkan shape1 pada saat program pertama kali dijalankan berada di Left = 30, maka pada saat tombol panah kiri ditekan nilai left yang  awalnya 30 berubah menjadi 29.

5. program selesai, coba jalankan dan tekan arah panah pada keyboard. Hasilnya objek bergerak ke arah tombol panah ditekan. Bila ingin kecepatan pergerakan bertambah, ubah nilai yang ditambahkan atau yang dikurangi pada listing tersebut,

 VK_LEFT : shape1.Left := shape1.Left - 1; // misalnya ini, maka ubah nilai 1 menjadi lebih besar misalnya 5, seperti ini

  VK_LEFT : shape1.Left := shape1.Left - 5; maka kecepatan objek  apabila tombol panah kiri ditekan maka akan berpindah ke kiri sebesar. Dan apabila kamu ingin menggunakan tombol lain yang berfungsi untuk menggerakkan objek tersebut, tinggal mengubah VK_LEFT dengan virtual key lainnya.

Referensi

Dokumen terkait

Jika ia, mari kita wujudkan karena Disini kita akan belajar bagaimana membuat sebuah aplikasi Chatting dengan Menggunakan Bahasa Pemrograman Delphi..

Terkait dengan penelitian ini sekalipun telah menggunakan beberapa metode baik itu metode Delphi, AHP dan LQ dan telah menetukan jenis kriteria produk unggulan

Identifikasi risiko yang dianggap paling berdampak dan perbedaan risiko untuk setiap tahap pengembangan dapat diperoleh dengan menggunakan metode Delphi dan

Terkait dengan penelitian ini sekalipun telah menggunakan beberapa metode baik itu metode Delphi, AHP dan LQ dan telah menetukan jenis kriteria produk unggulan

Delphi versi 2.0 hanya dapat dijalankan pada komputer berbasis 32 bit, yaitu yang menggunakan Windows 9x, versi ini penyempurnaan dari versi 1.0 dengan menambah

- Mouse dikenali namun tidak bisa berfungsi. Ini dialami oleh mereka yang menggunakan sistem operasi Windows. Mouse hanya tampil berupa kursor, tanda panah atau tanda lain

Adalah suatu keharusan untuk menyertakan BDE pada setiap pendistribusian aplikasi yang melibatkan database yang menggunakan Delphi dan bahasa pembrograman sefamilinya, karena tanpa BDE

Malang Menggunakan Delphi 7 dan MySQL Tugas Akhir Sebagai Salah Satu Syarat Untuk Memperoleh Gelar Ahli Madya Pada Program Diploma III Manajemen Informatika Disusun Oleh :