- Code:
-
class Window_Samtingaingteunyaho < Window_Base
def initialize(teuing=0)
super(0, 64, 640, 64)
self.contents = Bitmap.new(width - 32, height - 32)
self.opacity = teuing
self.back_opacity = teuing
self.visible = true
@teuing = teuing
apdet
end
def apdet
self.contents.clear
self.contents.draw_text(1k, 10k, 100kkkk, 1000kkk, "K itu 1000, goblok!")
what(@teuing)
if Input.trigger?(Input::C)
destroy("HAW!")
end
end
def what(variable)
return variable
end
def destroy(string)
print string
end
end
(LINE) 1. mendeklarasikan
deklarasi bangkok nama class dan parent class. Parent class itu optional tapi karena kita ingin praktis kita masukin parent class "Window Base" (inget kalo bikin window yg ada optionnya, pake Window_Selectable"). Gunanya parent class adalah agar variable / method window yang ga kita masukan udah ada, yaitu default yg ada di parent class. Misal, kalau mau buang window kan namawindow.dispose, nah kalo kita ga masukin def dispose di window kita? No prablem, karena di Window_Base sudah ada (cari sendiri kalo ga percaya).
2. def initialize, def (method) initialize adalah metode yang akan dilakukan saat pembuatan window. Nah jika lihat (teuing=0) itu adalah variabel yang dapat dimasukkan saat pemanggilan window, misal: @teuing = Window_Samtingaingteunyaho.new(3), maka variable teuing akan diisi dengan 3. Lantas apa itu =0? itu adalah value default. Jadi jika tidak ditambah (3) (hanya Window_Samtingaingteunyaho.new saja) tidak akan terjadi argument error.
3. super mah ane juga masih bingung apa, jadi setaunya ya
jika dilihat di parentclass, ada def initialize(x, y, width, height). nah, super disini memasukkan value itu untuk men-depain posisi x, y, panjang dan lebar. (screen rmxp itu 640x480 ya, ingat). Ini bisa dirubah dari script lain dengan misal:
@au: blahwindow.new
@au.width = 100 <<< maka window blah lebarnya akan jadi 100 walau defaultnya sejuta
4. self.contents, self itu class sekarang (berarti Window_Samtingaingteunyaho) dan contents itu variable (mereun, CMIIW). Kita masukkan class Bitmap dengan width kurang 32 dan height kurang 32.Biasanya kurang 32, ga tau kalo diganti.
5. self.opacity>tadi kan udah dikasih tau self, nah opacity adalah ketebalan warna window. max ya 255
6. g jwh beda sama line 5, cuma ini ketebalan belakangw window.
7. self.visible, untuk menampilkan atau tidak window ini. Kalau tidak, ya ga keliatan, dari bitmap ampe windownya, kalau self.opacity sama sodaranya itu dua2nya 0, Bitmap tetep keliatan (seperti tulisan dll), tapi kalo ini, SEMUANYA.
8. @teuing = teuing. Variable teuing diatas (line 2) dimasukkan ke @variable (au dah namanya, lupa...). Bedanya var sama @var (avar
) yaitu kalo var biasa hanya berlaku pada def yang sama, tapi @var berlaku pada seluruh class. Dan ada juga $var (global variable) yang berlaku di SELURUH SCRIPT yg ada di game. CMIIW
9. apdet melakukan metode update. jangan ditiru ya tulisannya
10. end. mengakhiri def initialize. jangan bikin metode dalam metode ya...
11. mulainya metode apdet.
12. self.contents.clear > karena kita akan membuat bitmap (dan kita akan meloop def update selama ada di screen) kita harus menghapus bitmap yang ada sebelum membuat yang baru. mengapa? karena kalau menumpuk, dapat mengakibatkan LAG.
13. draw text. membuat tulisan (bitmap). biasa, 4 variable pertama adalah x y width dan height. yang terahir itu string. String berupa tulisan yang dikandangi dua ". Ingat, K tidak berlaku dalam ruby ya, isinya 100000000000000000000000 aja!
14. what(teuing) > me-launch metode what dengan memasukkan variabel @teuing. Ingat, teuing tanpa @ ada di def initialize, jadi tidak berlaku di def apdet, karena itu teuing kita evolusikan tadi menjadi @teuing.
15. IF, tag mulai yang berarti kita akan melakukan kode2 dibawah sampai endnya if ini kalau kondisi tercapai.disini kondisinya adalah jika player memencet tombol C (enter, space, dkk).
16. melakukan metode destroy dengan memasukan variablestring berisi "HAW!!" gj kan? SO WAT yang bikin juga GJ
17. else, jika kondisi dalam if tidak terpenuhi, kode dibawah terjadi.
18. mengeluarkan tulisan dengan kata "PENCET DONG AH!" karena ini dalam def update, maka puluhan box berisi tulisan itu akan terus muncul... bikerful
19. end yang mengahiri if.
20. end yang mengahiri apdet method.
21. metode what dengan variable 'variable'.
22. mengembalikan variable, jadi line 14 sama saja dengan variable yang di return (var teuing). jadii ini hanya muter2 saja wkwkwkwk
23. selesaikan metode what
24. metode destroy yang meminta string.
25. mengprint string.
26. menyelesaikan metode destroy
27. menyelesaikan class.