RPGMakerID
Would you like to react to this message? Create an account in a few clicks or log in to continue.

Komunitas RPG Maker Indonesia
 
IndeksIndeks  Latest imagesLatest images  PencarianPencarian  PendaftaranPendaftaran  Login  
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.

 

 [HELP]Tentang RGSS2

Go down 
4 posters
PengirimMessage
hart
Senior
Senior
avatar


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

[HELP]Tentang RGSS2 Empty
PostSubyek: [HELP]Tentang RGSS2   [HELP]Tentang RGSS2 Empty2010-12-21, 14:23

oke langsung saja, saya ini newbie di bidang scripting memiliki beberapa pertanyaan seputar RGSS2 dan Ruby secara umum:

1. Di RGSS2, adakah cara untuk mendapatkan bitmap dari screen/layar itu sendiri?
Saya tau di RGSS2 ada fungsi Graphics.snap_to_bitmap(hanya ada di RGSS2), tapi itu hanya mengembalikan bitmap pada saat itu saja, bukan reference/pointer ke layar.
Mengapa saya butuh ini? karena saya ingin menggambar sendiri ke layar(dengan memanggil method blt, aneh sekali fungsi ini tersedia tapi kita tidak bisa mendapat pointer/reference ke game screen itu sendiri)

2. Di RGSS2, adakah cara(fungsi) untuk me- rotasi sebuah bitmap?
Saya tau di class Sprite ada properti yang namanya angle, dan bila kita mengubah nilainya, sprite itu akan ter-rotasi dengan sendirinya. TAPI MASALAHNYA, sprite itu harus digambar(bisa sih gk digambar dengan membuat visible -nya jadi false), tapi bila kita menggunakan blt untuk menggambar bitmap dari sprite ke suatu bitmap lain, tidak akan te- rotasi [-(.
Nah, pasti anda bakal tanya, kalau spritenya bisa dirotasi dengan mudah dgn hanya mengubah angle-nya, mengapa harus cari yg susah?
Jawabnya: Karena sprite itu harus digambar ke layar(kalau visible nya true). Sedangkan saya tidak ingin langsung menggambarnya ke layar(ke bitmap sementara misalnya). Nah, untuk itu, pasti kan pake blt, nah, rotasinya gk muncul.

3. Di ruby, adakah istilah pointer atau sejenisnya?
well, saya tau kok jawabannya gk ada, hanya mau meyakinkan.

4. Nah, di Ruby, setidaknya bisakah "mengoper" variabel ke parameter suatu fungsi sebagai "pass by reference"?
Maksud dari pass-by-reference adalah melempar alamat(bukan nilai/value) dari variabel itu ke parameter fungsi. Ini sama dengan menggunakan pointer sebagai parameter fungsi di C/C++, tapi sepertinya di Ruby tidak ada pointer. Tapi, di Visual Basic(VB) yang mana tidak ada pointer juga, bisa melakukan "pass-by-reference" dengan menggunakan kata kunci "ByRef" di parameter fungsinya. Nah, di Ruby adakah yg kira2 seperti itu?
Untuk apa saya butuh ini? :hmm: jelas, ini fituri dasar yang seharusnya dimiliki bahasa pemrograman, dan saya yakin ruby pasti punya, tapi saya gk tau caranya. Dan saya memang lagi butuh banget nih :swt:

Mengapa saya butuh semua yg ditanyakan di atas? bukannya itu semua bisa diakalin?
[-( [-(, maaf, alasannya tak bisa disebutkan, tapi percayalah, saya benar2 membutuhkan. Terima kasih :sembah:
Oh iya, tolong jawabannya jgn "Pake Win32API" atau sejenisnya, karena saya maunya RGSS2 nya yg bisa. Kalau harus pake Win32API(yg saya gk bisa =))) mah sama aja mending pake bahasa lain :swt:
Kembali Ke Atas Go down
wltr3565
Senior
Senior
wltr3565


Level 5
Posts : 870
Thanked : 28
Engine : RMVX
Skill : Skilled
Type : Scripter

Trophies
Awards:

[HELP]Tentang RGSS2 Empty
PostSubyek: Re: [HELP]Tentang RGSS2   [HELP]Tentang RGSS2 Empty2010-12-24, 19:13

Waduh, dengan istilah yang lebih dimengerti orang awam dong :swt: Aku bisa ngescript, tapi tetep aja aku hanya anak-anak yang bicara bahasa casual :swt:

1. Emang begitu... tapi pointer maksudnya apa?
2. Rotate bitmap? mungkin saat spritenya kerotasi bitmapnya ikut kerotasi juga. Coba transfer bitmap sprite yang kerotasi ke sprite baru. Ketransfer gak rotasinya?
3. Kutanya, pointer itu apaan?!
4. Kayak, menurunkan sifat dari suatu class ke class baru itu?
Kembali Ke Atas Go down
shikami
Member 1000 Konsep
avatar


Level 5
Posts : 3744
Thanked : 31
Engine : Multi-Engine User
Skill : Beginner
Type : Developer

Trophies
Awards:


[HELP]Tentang RGSS2 Empty
PostSubyek: Re: [HELP]Tentang RGSS2   [HELP]Tentang RGSS2 Empty2010-12-24, 19:23

Quote :
tapi pointer maksudnya apa?
mungkin hart maksudnya itu reference (ada tulisannya :- ) ... err ...mungkin jadi ntar masuknya setting script yang mana gitu misal Game_Actors, Window_Base :hammer:
sorry sok tau :kabur:

Kembali Ke Atas Go down
http://shikamicro.wordpress.com
hart
Senior
Senior
avatar


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

[HELP]Tentang RGSS2 Empty
PostSubyek: Re: [HELP]Tentang RGSS2   [HELP]Tentang RGSS2 Empty2010-12-24, 19:33

@om wltr:

1. Pointer itu istilah yg sangat umum digunakan dalam bahasa C. Pointer itu adalah suatu variabel yang menunjuk ke alamat memori tertentu. Jadi, kita bisa "secara langsung memanipulasi isi dari memori".

2. Udah kucoba, gk bisa, spritenya terotasi, tapi bitmapnya tidak.

3. Pointer itu istilah yg sangat umum digunakan dalam bahasa C. Pointer itu adalah suatu variabel yang menunjuk ke alamat memori tertentu. Jadi, kita bisa "secara langsung memanipulasi isi dari memori".
Misal ada variabel a nilainya 10. Lalu, kita bikin pointer bernama b yang menunjuk ke alamat a. Kalau kita mengubah nilai dari alamat yang ditunjuk pointer bernama b itu, maka nilai a akan ikut berubah.

4. Tidak. Tidak ada hubungannya dengan class.
Contoh sederhana saja, bagaimana cara membuat sebuah fungsi untuk men-swap nilai 2 variabel?
Code:

def swap(a, b)
  temp = a
  a = b
  b = temp
end
dan kenyataannya bila kita memanggil fungsi ini, nilai parameter di pemanggilnya tak akan berubah, karena Ruby membuat variabel baru pada fungsi itu. Sedangkan pada C kita bisa menggunakan pointer untuk hal itu:
Code:

void swap(int *a, int *b) // tanda * berarti pointer
{
  int temp = *a;
  *a = *b;
  *b = temp;
}
karena parameter a dan b adalah pointer yg menunjuk ke alamat variabel yg dikirim dari pemanggil, jadi otomatis nilai dari pemanggilnya juga akan berubah.
sedangkan di VB, tidak ada pointer, tapi sebagai gantinya ada kata kunci ByRef untuk itu
Code:

Sub swap(ByRef a As Integer, ByRef b As Integer)
  Dim temp As Integer
  temp = a
  a = b
  b = temp
End Sub
lah kok jadi panjang lebar gini? :hammer: intinya, karena ruby tidak mengenal pointer, setidaknya adakah cara untuk mengoper argumen berupa referensi(bukan value) dengan suatu kata kunci seperti VB misalnya?

BTW, sepertinya yg saya butuh sekarang cuma yg nomor 2 :sembah: kalau yg lain bisa diakalin(tapi dengan mengorbankan performance, karena object berat harus dikopi, kalau pake pointer yg di-pass hanya alamatnya :swt:)

BTW, 15 tahun udah om2 kali :kabur:
Thanks atas bantuannya mas :sembah::sembah:

EDIT: @om shikami: kayaknya bukan :hammer:
Kembali Ke Atas Go down
reijubv
Kai Runes
Kai Runes
reijubv


Kosong
Posts : 1476
Thanked : 33
Engine : RMVX

Trophies
Awards:

[HELP]Tentang RGSS2 Empty
PostSubyek: Re: [HELP]Tentang RGSS2   [HELP]Tentang RGSS2 Empty2010-12-24, 23:03

3 & 4
kalau mau yg seperti itu di ruby si variable itu harus dimasukkan ke sebuah objek, dan lalu di objek tersebut ditentukan, attr_accessor/attr_reader/attr_writer , cuma itu yg paling mendekati deh. .
Info tambahan
ato, bikin aja scriptnya di C ato C++ ato VB ato apa lah dan dibikin jadi .dll , nanti suruh WIN32API (yeah, senjata keren kalo mau dipelajari) utk masukin variable ruby ke dalam C utk diliat alamatnya ato apalah. .

rotate gambar ?
Nemu di script list RRR. . .



Kembali Ke Atas Go down
hart
Senior
Senior
avatar


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

[HELP]Tentang RGSS2 Empty
PostSubyek: Re: [HELP]Tentang RGSS2   [HELP]Tentang RGSS2 Empty2010-12-25, 14:16

@om rei: nah itu dia, memang bisa diakalin, tapi masa sih ruby tidak menyediakan fasilitas yg umum begini?
Itu link juga udah saya liat dulu waktu search google dengan kata kunci "ruby pass by reference", tapi ribet amat, berarti memang dari ruby nya gk bisa ya? Kalau tidak bisa yah apa boleh buat(yg pasti saya gk mau main2 win32api :kabur:)

Untuk yg rotate gambar, ntar saya baru cek ya om(sekrang tidak memungkinkan :kabur:)
Terima kasih banyak sekali buat bantuannya :sembah:

@all: oke, untuk nomor 1, 3, dan 4, saya tuliskan aja deh cara mengakalinnya yg ada di pikiranku, biar anda nilai cara ini baik atau tidak, atau anda punya penyelesaian yg lebih baik:

untuk nomor 1, bikin saja variabel instance dari class Sprite dengan bitmap berukuran 1 layar penuh(544x416), jadi ya kita bisa menganggap dia sebagai layar saja.
(mengapa sprite, bukan bitmap saja? Karena kalau bitmap sama doank gk tau gimana cara nampilinnya ke layar =)))

untuk nomor 3 dan 4, hampir sama dengan yg dibilang om rei(sama mungkin),variabelnya dimasukin ke suatu module, atau ke suatu class(tapi dijadiin class variabel yg berawalan '@@')
(tapi menurutku bagusan dimasukin dalam module)
Kembali Ke Atas Go down
Sponsored content





[HELP]Tentang RGSS2 Empty
PostSubyek: Re: [HELP]Tentang RGSS2   [HELP]Tentang RGSS2 Empty

Kembali Ke Atas Go down
 
[HELP]Tentang RGSS2
Kembali Ke Atas 
Halaman 1 dari 1
 Similar topics
-
» [ask] soal variabel di RGSS2
» [RGSS2-Support]Problem with NMS
» [Solved] Buku RGSS2
» Hart RGSS2 Tutorial: OOP
» [rgss2-support] nambah atk dll

Permissions in this forum:Anda tidak dapat menjawab topik
RPGMakerID :: Scripts & Event Systems :: RMVX Scripts :: RGSS2 Support-
Navigasi: