Kamis, 10 Maret 2011

Contoh script gambar (basic)

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.



Download disini



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.

20 komentar:

gulam mengatakan...

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)

gulam mengatakan...

eh salah.. Maksudku img.rectangle((x,y,x+wx,y+wy),0xdd)

Paper Sculpture mengatakan...

0xdd hasilnya sama dengan 0x0000dd. Betul kang, tanpa fill jg bisa, kan udah ku tulis diatas ntu

Anonim mengatakan...

Bro, gmna mnggmbr bntuk dgn polygon ?? Aku g ngrti nilai2 yg hrus diberi pada polygon

Paper Sculpture mengatakan...

Maaf, 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)

gulam mengatakan...

apa cuma 3 titik x dan y gan?

Paper Sculpture mengatakan...

Ora 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...*

gulam mengatakan...

hm.. Berarti iso gw segi sepuluh dong.. Pokok g tmbah mumet ae.. Haha..

Paper Sculpture mengatakan...

Iso kang, gw gbr bemo barang kn yo iso hehe

Paper Sculpture mengatakan...
Komentar ini telah dihapus oleh pengarang.
gulam mengatakan...

lek bemo lha sing mlengkung piye gan?

Metalizer mengatakan...

Mtur nuhun mas..
Pnting knggo newbi ky aq,, sin rep blajar modul grapik..

Paper Sculpture mengatakan...

@gulam: Whaiyo, bemo onok mlengkunge, kyone g iso kang, lek terpaksa yo ditempeli ellipse wae
@metalizer: sami2 mas, mtur nuwun ampirane hehe...

Paper Sculpture mengatakan...

@gulam: Whaiyo, bemo onok mlengkunge, kyone g iso kang, lek terpaksa yo ditempeli ellipse wae
@metalizer: sami2 mas, mtur nuwun ampirane hehe...

jagad mengatakan...

mantaapp..muter2 nang ndi2, sing iso rodo paham yo ndk blog'é tigan iki. Sampean guru ta kang? Hehe

Paper Sculpture mengatakan...

@mas jagad, Q yo drung patek mudeng.. Soale aku murid hehe..

gulam mengatakan...

abah tigan gak bahas oop? Aku bingung klo bc yg bahasanya bahasa walanda bin linggis2 gt..

Paper Sculpture mengatakan...

Wadoh 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

gulam mengatakan...

wealah.. T kira self canvas termasuk oop.. Terus, biar g salah kaprah kasih postingan ae gan..

Paper Sculpture mengatakan...

Ok kang