www.gmindo.web.id/forum
Forum ini sudah tidak dipakai lagi. Silakan ke forum baru di www.gmindo.web.id/forum Very Happy

Terima kasih

Scoping in GML

Topik sebelumnya Topik selanjutnya Go down

Scoping in GML

Post by zebrakelabu on Tue 21 Jan 2014, 21:12


Akhirnya nemu juga artikel komplitnya disini.

Jadi intinya kurang lebih:
-globalvar is a bad idea, lebih baik pakai prefix global dot variabel
-referensi ke object sebaiknya pakai with { } statement, jangan langsung object dot variabel karena hasilnya bisa beda antar platform
-inisialisasi awal perlu untuk menjamin hasil, misal var a=0;



avatar
zebrakelabu
Admin
Admin

100%
Jumlah posting : 933
Points : 960
Join date : 06.01.13
Lokasi : Jakarta

Lihat profil user http://www.project25games.com

Kembali Ke Atas Go down

Re: Scoping in GML

Post by Kevin Blaze Coolerz on Tue 21 Jan 2014, 21:36

ak malah gk prnah pake globalvar ._.
kalo yg ke2 sih trgantung, kalo var di obj tsb BANYAK yg mau di call, maka ak pke with(), kalo cma 1 atau 2 ak pke obj_X.var Very Happy

utk penggunaan var, selain utk init juga biar gk error atau variable kita ter-replace (menurut ku lho Razz )
soal ny gini, kalo kita punya variable HP, dan New_HP di obj_char, lalu kita bikin script, misal:

Create event:
Code:
hp=100
new_hp=sc_calculate_hp(hp)

sc_caculate_hp():
Code:
var hp;
hp=argument0
hp*=2
hp+=global.mp*100

return hp;

tanpa "var hp;" mngkin variable hp di obj_char utk berganti nilai, bukan 100 lgi Very Happy
avatar
Kevin Blaze Coolerz
Admin
Admin

100%
Jumlah posting : 3323
Points : 3795
Join date : 06.01.13
Age : 22
Lokasi : Palembang

Lihat profil user http://kevin-blaze-coolerz.blogspot.com/

Kembali Ke Atas Go down

Re: Scoping in GML

Post by Asuna on Wed 22 Jan 2014, 12:01

yg ke2: yup, gpp kalo instance objectnya cuma 1, mis. obj_player, karena masalahnya pada saat instancenya banyak (kemungkinan <object id>.x mengacu pada instance berbeda dgn object id yg sama), sebagai gantinya <instance id>.x lebih aman Very Happy

penggunaan with() lebih bagus digunakan sebagai foreach semua instance, i.e. with(<object id>) dan with(all)

inisialisasi variabel memang necessary, terkait error uninitialized variable yg cenderung dialami karena tanpa disadari pada mekanisme eksekusi justru code lain memanggil variable sebelum diinisialisasi di code lainnya

dan karena variable yg diinisialisasi dengan var memiliki local scope dan yg gk pake var memiliki instance scope, as explained by Kevin diatas Very Happy
avatar
Asuna
Global Moderator
Global Moderator

100%
Jumlah posting : 1711
Points : 1901
Join date : 10.01.13

Lihat profil user

Kembali Ke Atas Go down

Re: Scoping in GML

Post by meliaz99 on Wed 22 Jan 2014, 13:23

^ Iya. Udah baca sih kemarin pas keluar. Kalo ga salah kalo pake prefix objX.blablabla yang bakal ke initialize itu objX terakhir yang di create. CMIIW
avatar
meliaz99
GM Beginner
GM Beginner

100%
Jumlah posting : 318
Points : 386
Join date : 11.05.13
Age : 18
Lokasi : Batam, Kepri, Indonesia

Lihat profil user http://roychanmeliaz.wordpress.com

Kembali Ke Atas Go down

Re: Scoping in GML

Post by Asuna on Wed 22 Jan 2014, 15:03

@meliaz99
udah ane coba gan, kalo di GM 8 objX.id justru tetep merupakan instance id objX yg pertama dicreate (kecuali yg pertama itu didestroy), kalo di GMS entahlah belum dicoba Kacau
avatar
Asuna
Global Moderator
Global Moderator

100%
Jumlah posting : 1711
Points : 1901
Join date : 10.01.13

Lihat profil user

Kembali Ke Atas Go down

Re: Scoping in GML

Post by meliaz99 on Wed 22 Jan 2014, 15:53

Ohh. Kalo gitu yang pertama. Maap. Hammer
Kacau
avatar
meliaz99
GM Beginner
GM Beginner

100%
Jumlah posting : 318
Points : 386
Join date : 11.05.13
Age : 18
Lokasi : Batam, Kepri, Indonesia

Lihat profil user http://roychanmeliaz.wordpress.com

Kembali Ke Atas Go down

Re: Scoping in GML

Post by zebrakelabu on Wed 22 Jan 2014, 20:54

meliaz99 wrote:^ Iya. Udah baca sih kemarin pas keluar. Kalo ga salah kalo pake prefix objX.blablabla yang bakal ke initialize itu objX terakhir yang di create. CMIIW

hmm kalo yang ini udah pasti, dari jaman GM dulu juga begitu. Yang terinit hanya instance terakhir. tapi kalau hasilnya beda antar platform karena pengertian scope yang beda di platform masing2 baru kali ini aku tau (ref artikel diatas)
avatar
zebrakelabu
Admin
Admin

100%
Jumlah posting : 933
Points : 960
Join date : 06.01.13
Lokasi : Jakarta

Lihat profil user http://www.project25games.com

Kembali Ke Atas Go down

Re: Scoping in GML

Post by Sponsored content


Sponsored content


Kembali Ke Atas Go down

Topik sebelumnya Topik selanjutnya Kembali Ke Atas


 
Permissions in this forum:
Anda tidak dapat menjawab topik