Ketika mau membuat sebuah balok yang jika diklik akan melakukan action, tetapi image_xscale & image_yscale nya tidak sama besar dengan sprite yang tergambar. Misalnya gini:
Ada sprite, ukurannya 100x100, dan spritenya di draw_sprite_stretched(sprite,sub img,x,y,200,200), sehingga spritenya akan tampak 2x lebih besar, yaitu 200x200, namun ketika di klik, hanya bagian tertentu yang melakukan action, yaitu pada wilayah 100x100 (karena itu image_xscale & image_yscale yang asli), jadi kita harus membuat image_xscale & yscale nya menjadi 200x200.
Jika ukurannya 2x lipat, tentu kita bisa menggunakan:
image_xscale = 2; image_yscale = 2
Ini akan membuat xscale dan yscale menjadi 200%. Jika diisi 3 berarti 300%, dst...
Tapi, bagaimana jika ukurannya tidak menentu? Seperti 326x402 ?
Bingungkan? Hehe...
Cara ini saya temukan sendiri, dan cara ini sangat sangat simpel, yaitu begini:
image_xscale = image_xscale*(ukuran baru) / (ukuran lama);
image_yscale = image_yscale*(ukuran baru) / (ukuran lama)
Jadi, ukuran baru adalah ukuran yang akan kita buat, seperti 200x200, dan 326x402 tadi. Dan ukuran lamanya yaitu ukuran asli spritenya, yaitu 100x100. Jadinya begini:
image_xscale = image_xscale*326 / 100;
image_yscale = image_yscale*402 / 100
Ok, mudah bukan? Jika masih bingung, silakan download file *.gmk nya DISINI
Semoga bermanfaat :D
Tidak ada komentar:
Posting Komentar