Coretan ini sekedar share penjelasan tentang basic script gambar pada pys60. Ceritanya beberapa waktu yang lalu kang Gulam request deskripsi game, nah karena penjelasan satu game utuh lumayan panjang, jadi saya cicil dikit-dikit, nanti jika saya dapat rejeki pasti saya lunasi (emangnya utang? Hehe...).
Gambar yang dimaksud disini bukan gambar dari file JPEG atau PNG, melainkan gambar berbasis RGB (sering disebut old graphics) dari module graphics. Dan agar lebih praktis, juga karena saya malas upload sepotong-sepotong maka langsung saya bungkus menjadi satu file zip.
Setelah mengutak-atik script diatas, mungkin ada yang masih bingung pada baris2 script menggambar point, bulat kotak, dan line ( pengalaman pribadi :D). Berikut sedikit penjelasannya..
Rectangle dan Ellipse
img.rectangle((100,40,120,80),0x00dddd, fill=0xdd0000)
img.ellipse((100,40,120,80),0x00dddd, fill=0xdd0000)
- angka-angka dalam kurung adalah posisi objek tersebut (posisiX, posisiY, posisiX+lebarObjek, posisiY+tinggiObjek)
- kode yang berada ditengah (0x00dddd) adalah warna garis pinggir objek dalam mode RGB (Red, Green, Blue) 0xRRGGBB. Bisa juga menggunakan mode: (R,G,B). Contoh:
img.ellipse((100,40,120,80),(255,0,0), fill=(255,255,0))
- fill=0xdd0000 adalah warna objek. Jika ingin agar objek yang ditampilkan garis pinggir saja, tidak perlu menggunakan kode ini atau fill=None.
Point
img.point((50,20),0xdddddd, width=10)
Berbeda dengan ellipse, penggambaran point berdasarkan titik kordinat posisi x,y nya, width=10 adalah lebar point.
Line
img.line((60,90,80,70),0x00dd00)
line intinya, membuat sebuah garis yang menghubungkan dua buah titik. Maka pengaturan posisinya: (x1, y1, x2, y2).
Sampai disini dulu. Jika ada yang bingung dengan coretan saya ini, mohon komentarnya.
pk 0xdd jg bisa ya gan? Tp 0xdd atau 0xaa warnanya sm. Untuk fill klo g pk fill warna fill g t tulis jg bs lho gan.. Misal img.rectangle((10,10),0xdd)
BalasHapuseh salah.. Maksudku img.rectangle((x,y,x+wx,y+wy),0xdd)
BalasHapus0xdd hasilnya sama dengan 0x0000dd. Betul kang, tanpa fill jg bisa, kan udah ku tulis diatas ntu
BalasHapusBro, gmna mnggmbr bntuk dgn polygon ?? Aku g ngrti nilai2 yg hrus diberi pada polygon
BalasHapusMaaf, saat buat coretan diatas aku belum tau kalau ternyata bisa ngegambar polygon *parah2*, jadi ndak tercantum di coretan hehe... Pengaturan posisinya sama dengan "line" yaitu menghubungkan titik. Perbeaannya line hanya boleh menghubungkan 2 titik, sedangkan polygon dapat menghubungkan lebih dari 2 titik (titikX1,titikY1, titikX2,titikY2, titikX3,titikY3)
BalasHapusapa cuma 3 titik x dan y gan?
BalasHapusOra mas, tidak ada batasannya. Tp perlu diingat jg semakin banyak titik maka semakin banyak komputasi, efeknya program jadi berat. Apalagi program graphics tergolong program berat, dan kinerja pys60 (terutama pada hp2 lama) lumayan lelet. Jadi optimasi harus extra *sok expert, padahal rapatek mudeng hehe...*
BalasHapushm.. Berarti iso gw segi sepuluh dong.. Pokok g tmbah mumet ae.. Haha..
BalasHapusIso kang, gw gbr bemo barang kn yo iso hehe
BalasHapusKomentar ini telah dihapus oleh pengarang.
BalasHapuslek bemo lha sing mlengkung piye gan?
BalasHapusMtur nuhun mas..
BalasHapusPnting knggo newbi ky aq,, sin rep blajar modul grapik..
@gulam: Whaiyo, bemo onok mlengkunge, kyone g iso kang, lek terpaksa yo ditempeli ellipse wae
BalasHapus@metalizer: sami2 mas, mtur nuwun ampirane hehe...
@gulam: Whaiyo, bemo onok mlengkunge, kyone g iso kang, lek terpaksa yo ditempeli ellipse wae
BalasHapus@metalizer: sami2 mas, mtur nuwun ampirane hehe...
mantaapp..muter2 nang ndi2, sing iso rodo paham yo ndk blog'é tigan iki. Sampean guru ta kang? Hehe
BalasHapus@mas jagad, Q yo drung patek mudeng.. Soale aku murid hehe..
BalasHapusabah tigan gak bahas oop? Aku bingung klo bc yg bahasanya bahasa walanda bin linggis2 gt..
BalasHapusWadoh abah, aku blum brani bahas, masih belum bisa buat program dgn oop yang trstruktur. Awas2, class & self bukan berarti oop lho kang, namun sebagai pembungkus fungsi2 oop. Iki penjelasan oop scara global http://id.wikipedia.org/wiki/Pemrograman_berorientasi_objek
BalasHapuswealah.. T kira self canvas termasuk oop.. Terus, biar g salah kaprah kasih postingan ae gan..
BalasHapusOk kang
BalasHapus