Per 2016, RMID pindah ke RMID Discord (Invite link dihapus untuk mencegah spambot -Theo @ 2019). Posting sudah tidak bisa dilakukan lagi.
Mohon maaf atas ketidaknyamanannya dan mohon kerjasamanya.

Share | 
 

 Hart RGSS2 Tutorial: OOP

Topik sebelumnya Topik selanjutnya Go down 
Hart RGSS2 Tutorial: OOP Empty2010-04-17, 10:13
PostHart RGSS2 Tutorial: OOP
#1
hart 
Senior
Senior
avatar

Level 5
Posts : 805
Thanked : 38
Engine : Other
Skill : Very Beginner
Type : Developer

Hart RGSS2 Tutorial: OOP Vide
:>


Terakhir diubah oleh hart tanggal 2013-02-10, 19:40, total 3 kali diubah
Hart RGSS2 Tutorial: OOP Empty2010-04-17, 10:41
PostRe: Hart RGSS2 Tutorial: OOP
#2
Kuro Ethernite 
The Creator
Kuro Ethernite

Level 5
Posts : 1631
Thanked : 24
Engine : RMVX Ace
Skill : Masterful
Type : Jack of All Trades
Awards:

Hart RGSS2 Tutorial: OOP Vide
*Kuro Creator mnekan ctrl + S .....
Wogh!!! Pnjangny !!! XD
Baca OL bakal ngbisin wktu XD XD

@Hart
Keren!!! XD
Hart RGSS2 Tutorial: OOP Empty2010-04-17, 10:44
PostRe: Hart RGSS2 Tutorial: OOP
#3
reijubv 
Kai Runes
Kai Runes
reijubv

Kosong
Posts : 1476
Thanked : 33
Engine : RMVX
Awards:

Hart RGSS2 Tutorial: OOP Vide
Saya mau menambahkan . .
(Mirip ama kalimat yang juga bikin om crimson ngambek :- )

Quote :
1. Constant
Dalam bahasa pemrograman lain, misalnya C++, ada yang disebut constant. Constant sama dengan variable, digunakan untuk menampung data, tapi nilainya tetap dan tidak bisa diubah di baris selain baris deklarasi constant. Dalam Ruby, tidak ada constant(CMIIW), semuanya adalah variabel. Tapi, bila kita membutuhkannya, kita bisa membuat variabel dan menganggapnya sebagai konstanta(dan tentu saja nilainya masih bisa diubah di baris lain seperti variabel, tetapi kita bisa pura2 menganggapnya tidak bisa diubah ).

Ada, constant dalam Ruby adalah variabel yang ditulis dengan huruf besar pada awal nama variabelnya, misal "DNASMAN" atau "Dnasman" ( :- ) spesialnya dalam ruby itu constant bisa dirubah2 tapi operasinya lebih lambat (coba aja deh respon merubah constant dalam game lebih lambat dari merubah variabel lain ). Constant itu lebih ke variabel yang langsung punya value begitu di deklarasikan dimanapun ia berada. .tapi untuk mengaksesnya tetap harus mereferensikan dimana constant berada (kalau dimasukkan module atau yg lain) utk itulah module sangat berguna utk menyimpan constant. .

adalagi 1 variabel kelupaan tuh, variabel yang depannya ada dua @ jadi @@, apakah itu ? :-

Quote :
Bila anda telah menyelesaikan minimal 5 soal di atas, anda boleh menuliskan script lengkapnya di thread ini(akan saya berikan rep point untuk orang pertama), tapi para master2 scripter seperti om reijubv, rusted_71, blackcat, wltr3565, dll jangan ya....
<< saya kan bukan scripter :sembah:


Ada baiknya beri penjelasan juga mengenai string, soalnya ada yg suka konflik dalam urusan string2an, karena dalam ruby ada banyak cara mendeklarasikan sesuatu sebagai string . . .

(Pgn liat ada yg bikin tuts tentang "Thread, apa itu thread dan bagaimana memanfaatkannya dalam RGSS2/1", kalo di sini ada wa kasih repp)
Hart RGSS2 Tutorial: OOP Empty2010-04-17, 11:10
PostRe: Hart RGSS2 Tutorial: OOP
#4
hart 
Senior
Senior
avatar

Level 5
Posts : 805
Thanked : 38
Engine : Other
Skill : Very Beginner
Type : Developer

Hart RGSS2 Tutorial: OOP Vide
@om kuro: wah, makasih buat pujiannya :sembah:

@om rei: wah wah, itu artinya anda mensejajarkan saya dengan om crimson yang sudah dewa? terima kasih sekali :sembah:


Mengenai variabel '@@', itu kalau gak salah namanya 'class variable' kan? tapi toh jarang digunakan di scripting RGSS2(bahkan gak ada dipake kayaknya :swt:), jadi gak perlu dibahas dulu deh, lagipula:
Quote :
Ternyata variabel ini terdiri dari beberapa macam, namun di dalam script default RMVX, yang digunakan hanya 3 jenis, yaitu local variable, global variable, dan instance variable.
ngerti kan maksudnya? :-

Maaf, saya lupa, memang class variabel ada terpakai, tapi sangat sedikit sekali, jadi ntar aja di bab2 mendatang dibahasnya. :-

Mengenai Threading atau apa, saya pernah baca juga di ruby-doc.org, tapi saya gak mempelajarinya(kalau threading di C# sih saya ngerti :P), soalnya gak ada dipake dalam scripting di RMVX(kayaknya). Tujuan tutorial ini agar para newbie bisa scripting di RMVX, bukan supaya bisa jadi programmer handal(walaupun dasarnya juga hampir sama) :sembah:

Mengenai constant, memang selama ini, ini yang membuat saya agak bingung di bahasa Ruby. Soalnya yang namanya constant ya nilainya gak bisa diubah, kalau bisa diubah ya bukan constant lagi namanya. Saya akan melakukan penelitian lebih lanjut dulu mengenai ini :sembah:

Kalau soal string.... Hmm.. gimana ya? Apa harus dibahas tentang regular expression, cara membandingkan string, dll? Ntar kuperhitungkan deh :hmm:

om rei tercinta wrote:
<< saya kan bukan scripter :sembah:
ah, ada2 aja.. :swt: =))=))=))=))

BTW, makasih buat komen2nya :sembah:
Hart RGSS2 Tutorial: OOP Empty2010-04-17, 12:26
PostRe: Hart RGSS2 Tutorial: OOP
#5
Blackcat 
Novice
Novice
Blackcat

Level 5
Posts : 194
Thanked : 6
Engine : Other

Hart RGSS2 Tutorial: OOP Vide
Jiah... Ko saya d sebut master scripter... :swt:
Saya cm eventer cupu yg belajar script lewat tutornya kk hart :kabur:
Btw nice tutor neh tp masih ada yg saya bingung...
Cara tuk menukar window widht dan height gimana? Apakah pakai def update dan input?... Kan belum d masukin tutor...
Hart RGSS2 Tutorial: OOP Empty2010-04-17, 18:19
PostRe: Hart RGSS2 Tutorial: OOP
#6
hart 
Senior
Senior
avatar

Level 5
Posts : 805
Thanked : 38
Engine : Other
Skill : Very Beginner
Type : Developer

Hart RGSS2 Tutorial: OOP Vide
kucing hitam tercinta wrote:
Jiah... Ko saya d sebut master scripter... :swt:
Saya cm eventer cupu yg belajar script lewat tutornya kk hart :kabur:
Tutorku baru ada kemarin :swt:
@om blackcat: cara menukar window width dan height maksudnya apa nih? window yang mana?
BTW, thanks buat komennya :sembah:
Hart RGSS2 Tutorial: OOP Empty2010-04-17, 19:38
PostRe: Hart RGSS2 Tutorial: OOP
#7
Blackcat 
Novice
Novice
Blackcat

Level 5
Posts : 194
Thanked : 6
Engine : Other

Hart RGSS2 Tutorial: OOP Vide
Setelah d liat bagian
def tukar_panjang_dan_lebar
Secara teliti...

Ternyata saya salah baca... XD
Kirain panjang dan lebar window :swt:

Quote :
Blackcat lari sambil tutup mukanya pake buku.
Hart RGSS2 Tutorial: OOP Empty2010-04-18, 01:54
PostRe: Hart RGSS2 Tutorial: OOP
#8
rusted_71 
Scripter Karatan
rusted_71

Level 5
Posts : 392
Thanked : 11
Engine : RMVX
Skill : Beginner
Type : Scripter

Hart RGSS2 Tutorial: OOP Vide
wah saya bisa jawab tuh pertanyaannya... :-

tapi kenapa ga dibolehin ya...?
padahal kan saya bukan scripter yang jago2 amat...
buktinya nama dari jenis2 variable saya baru tau sekarang...

soalnya langsung di praktekin aja, jadi ga ngerti nama2nya... hehehehe...

eh iya satu lagi... threading tuh apa ya?
beneran ga ngerti nih...

mungkin pernah nyoba tapi lagi2 ga tau istilahnya...

jadi mohon penjelasan yah... :sembah:
Hart RGSS2 Tutorial: OOP Empty2010-04-18, 05:17
PostRe: Hart RGSS2 Tutorial: OOP
#9
Oscar 
Senior
Senior
Oscar

Level 5
Posts : 830
Thanked : 13
Engine : RMVX
Skill : Beginner
Type : Writer

Hart RGSS2 Tutorial: OOP Vide
rusted_71 wrote:

eh iya satu lagi... threading tuh apa ya?
beneran ga ngerti nih...

Threading itu menjalankan function / method scr bebarengan, kalo di event semacam parrarel process ~lah, CMIIW, pemrogramanku dpt C+ :cry:
Hart RGSS2 Tutorial: OOP Empty2010-04-18, 06:53
PostRe: Hart RGSS2 Tutorial: OOP
Gramadi 
Novice
Novice
Gramadi

Level 5
Posts : 209
Thanked : 4
Engine : RMVX Ace
Skill : Very Beginner
Type : Artist

Hart RGSS2 Tutorial: OOP Vide
:gabokun: muncul


Coba Coba mengerjakan Tugas yang diberikan oleh
Dosen Hart M.Sc M.Kom

Hanya ini yang bisa saya lakukan gtw bener atau salahnya
Mohon dikoreksi

Code:
#------------------------------------------------------------------------------
# * Hart RGSS2 Tutorial
#------------------------------------------------------------------------------
$tut_sprite = Sprite.new                    #global variable
$tut_sprite.bitmap = Bitmap.new(544, 416)
#==============================================================================
# ** SegiEmpat
#------------------------------------------------------------------------------
# Pokoknya segi empat
#==============================================================================


class SegiEmpat
  attr_accessor :panjang
  attr_accessor :lebar
  attr_accessor :x
  attr_accessor :y
  attr_accessor :warna
 
  def initialize(panjang, lebar,x,y)
    @panjang = panjang          #@panjang dan @lebar adalah instance variables
    @lebar = lebar
    @x = x
    @y = y
    @warna= warna
  end

  def posisi                  #function posisi???
    @x=x
    @y=y
  end
 
  def luas
    return @panjang * @lebar
  end
 
  def keliling                      #function keliling
    return (2*@panjang)+(2*@lebar)
  end
 
  def tukar_panjang_dan_lebar    #untuk menukar panjang dan lebar
    temp = @panjang
    @panjang = @lebar
    @lebar = temp
  end
 

end
#------------------------------------------------------------------------------



a = SegiEmpat.new(100, 200,3,4)
b = SegiEmpat.new(300, 50,294,92) 
a.warna = Color.new (10.333,29,255)        #set warna????
b.warna = Color.new (99,29,255)


panjang=a.tukar_panjang_dan_lebar        #memanggil tukar panjang dan lebar
lebar = b.tukar_panjang_dan_lebar

loop do
  Graphics.update
 
  posisiXA=a.x                #memanggil posisi x dan y diluar class segi4
  posisiXB=b.x                #mungkin gini  ya?
  posisiYA=a.y
  posisiYB=b.y
 
  luasA = a.luas
  luasB = b.luas
  kelilingA = a.keliling      #keliling
  kelilingB = b.keliling
  $tut_sprite.bitmap.clear
 
  $tut_sprite.bitmap.draw_text(0, 0, 544, 416,"a.warna = " + a.warna.to_s + "a.panjang = " + a.panjang.to_s + "        a.lebar = " + a.lebar.to_s + "        a.x = " + posisiXA.to_s + "        a.y = " + posisiYA.to_s)
  $tut_sprite.bitmap.draw_text(0, 24, 544, 416,"b.warna =" + b.warna.to_s + "b.panjang = " + b.panjang.to_s + "b.lebar = " + b.lebar.to_s + "        b.x = " + posisiXB.to_s + "        b.y = " + posisiYB.to_s)
 
 
  $tut_sprite.bitmap.draw_text(0, 48, 544, 416, luasA.to_s + "  " + luasB.to_s)
  $tut_sprite.bitmap.draw_text(0, 96, 544, 416, kelilingA.to_s + "  " + kelilingB.to_s)
  a.panjang += 2
end
#------------------------------------------------------------------------------]


dr jam 3 smpe skrng gag isa nampilin segi 4 nya :cry:

:sembah: mohon maaf klo ada ketidaksinkronan soal dan jawaban



:gabokun: menghilang
Hart RGSS2 Tutorial: OOP Empty2010-04-18, 08:27
PostRe: Hart RGSS2 Tutorial: OOP
rusted_71 
Scripter Karatan
rusted_71

Level 5
Posts : 392
Thanked : 11
Engine : RMVX
Skill : Beginner
Type : Scripter

Hart RGSS2 Tutorial: OOP Vide
eh mo tanya donk...

tuh method "posisi" di class segiEmpatnya ga kepake ya?

klo mo draw,

coba deh pake class bitmap... dia kan punya methodnya

dah gitua aja
Hart RGSS2 Tutorial: OOP Empty2010-04-18, 09:56
PostRe: Hart RGSS2 Tutorial: OOP
Gramadi 
Novice
Novice
Gramadi

Level 5
Posts : 209
Thanked : 4
Engine : RMVX Ace
Skill : Very Beginner
Type : Artist

Hart RGSS2 Tutorial: OOP Vide
:gabokun: muncul


sebenarnya sih bisa di lngsung di panggil
tapi gara2 kata
"Diluar Kelas SegiEmpat"
jadinya bingung harus buat method lagi apa nggak wkwkkw

aku baru bljr rgss2 kk masih newbie
mohon maklum klo ada "method bayangan"

hmmm.. aku coba class bitmapnya
thx
:gabokun: menghilang
Hart RGSS2 Tutorial: OOP Empty2010-04-18, 10:13
PostRe: Hart RGSS2 Tutorial: OOP
reijubv 
Kai Runes
Kai Runes
reijubv

Kosong
Posts : 1476
Thanked : 33
Engine : RMVX
Awards:

Hart RGSS2 Tutorial: OOP Vide
:hmm:
bukannya program dalam ruby itu harus dimulai dengan "begin" lalu "end" ?
kalo dihapus semua, MAIN juga dihapus donk ?

(Setau saya sih begitu pas bikin script pure-ruby harus di awali "begin" diakhiri "end "baru si program jalan, di RGSS1/2 juga ada kan di main :- )
Hart RGSS2 Tutorial: OOP Empty2010-04-18, 18:41
PostRe: Hart RGSS2 Tutorial: OOP
hart 
Senior
Senior
avatar

Level 5
Posts : 805
Thanked : 38
Engine : Other
Skill : Very Beginner
Type : Developer

Hart RGSS2 Tutorial: OOP Vide
wah, thanks banget buat semua komen2nya :sembah:

@om gabokun: bagus! walaupun saya juga masih newbie, ijinkan saya memberi beberapa kritik :sembah:
1. di class SegiEmpat, method initialize, ada baris '@warna = warna' padahal gak ada variabel warna. Ini apa gak error ya? menurutku lebih bagus buat '@warna = nil' atau buat inisialisasi warna awalnya :sembah:

2. Seperti kata om rusted, method posisi tak terpakai tuh.. :sembah: maksud saya gambarnya dari luar class, tapi bukan berarti gak boleh memanggil method dalam class(maaf, soalnya kurang jelas) :sembah:

3. pada baris 'panjang = a.tukar_panjang_dan_lebar' dan bawahnya, itu kayaknya pasti error deh :swt: Soalnya method tukar_panjang_dan_lebar tidak mereturn nilai, jadi cara memanggilnya tidak bisa seperti itu, melainkan cukup 'a.tukar_panjang_dan_lebar'.

4. Makasih telah mau mencoba mengerjakan soal ini :sembah: 1 reppo untuk anda :D

@om rei: gak harus kok, begin itu kayaknya gunanya sama dengan "Exception" di bahasa lain(kayaknya loh).
Mengapa? Coba aja tambahkan begin dan end di semua script default, tak ada masalah tuh.
Coba hapus begin dan end yang di main, pasti error, tapi errornya di baris yang rescue itu. Trus coba hapus baris rescue itu, tidak ada error lagi.
Jadi, kesimpulanku : 'begin dan rescue' itu sama dengan 'try dan catch' di C++, jadi bukan soal main atau bukan :sembah:

Makasih buat semua komen2nya :sembah:
Hart RGSS2 Tutorial: OOP Empty2010-04-18, 18:56
PostRe: Hart RGSS2 Tutorial: OOP
reijubv 
Kai Runes
Kai Runes
reijubv

Kosong
Posts : 1476
Thanked : 33
Engine : RMVX
Awards:

Hart RGSS2 Tutorial: OOP Vide
yup resque itu seperti sebuah blok fungsi yang isinya akan dieksekusi kalau fungsi lain sebelum resque terjadi eror, untuk memunculkan errno misalnya, atau lainnya,

cara lainnya ya untuk set default dari suatu variabel :-
Hart RGSS2 Tutorial: OOP Empty
PostRe: Hart RGSS2 Tutorial: OOP
Sponsored content 




Hart RGSS2 Tutorial: OOP Vide
 

Hart RGSS2 Tutorial: OOP

Topik sebelumnya Topik selanjutnya Kembali Ke Atas 

Similar topics

+
Halaman 1 dari 1

Permissions in this forum:Anda tidak dapat menjawab topik
RPGMakerID :: Creative Commons :: Tutorials-