Nambahin Klik Kanan di Flash

Membuat sebuah aplikasi yang kreatif itu menyenangkan. Banyak fitur yang ternyata berguna tapi kadang keberadaanya jarang dikenal atau dipakai. selain SharedObject, fitur lain yang jarang digunakan tetapi menyenangkan adalah fitur klik kanan.

Yang digunakan secara umum untuk menghilangkan menu klik kanan (seperti zoom, quality, print) dan menu di atas (seperti file, view,control) secara permanen, kita bisa menggunakan fungsi

fscommand(“showmenu”,false);

dengan menset showmenu menjadi false, maka tampilan menu di atas dan di klik kanan (kecuali settings dan about) akan hilang. Hanya jika flashnya dibuka lewat browser ketika klik kanan menu tetap muncul. Untuk mendisable sama sekali menu klik kanan, saya belum tahu caranya 😦 tapi setidaknya ada cara untuk mengakalinya:

– jika hasilnya ditampilkan lewat browser, buat fungsi javascript buat mendisable klik kanan.

– jika hasilnya ditampilkan lewat projector, convert swfnya dengan software 3rd party untuk jadi standalone projector baru, hasil akhirnya sama seperti yang ada di beberapa CD interaktif yang tidak bisa diklik kanan.

Customize klik kanan

Ternyata eh ternyata.. ada lagi cara lain untuk customize fungsi klik kanan yaitu dengan object ContextMenu dan ContextMenuItem.

Mari kita buat contohnya..

Kita akan membuat aplikasi berisi kotak yang bisa di-cut atau di-copy, kemudian bisa di-paste di sembarang tempat seperti gambar ini:

klikkananhack.jpg

Caranya. Pertama2 buat movieclip, drag ke stage, klik movieclip, lihat properties, beri instance name: kotak_mc. Kemudian buat dynamic text, klik, lihat properties, isi bagian var dengan nama isiDinamikTeks. Kemudian pada frame berikan actionscript berikut:

function potong()
{
 cutBukanCopy = true;
 kotak_mc._alpha = 30;
 isiDinamikTeks = "sekarang klik kanan di sembarang tempat\nuntuk memindahkan objek";
}

function salin()
{
 cutBukanCopy = false;
 isiDinamikTeks = "sekarang klik kanan di sembarang tempat\nuntuk membuat objek baru";
}

function tempel()
{
 if(isiDinamikTeks == "silakan klik kanan di kotak")
 {
 	isiDinamikTeks = "woooiii... belum diapa-apain itu..\nklik cut atau copy dulu baru klik paste disini";
 }
 else if(cutBukanCopy)
 {
 	setProperty(kotak_mc, _x, _xmouse);
 	setProperty(kotak_mc, _y, _ymouse);
 	kotak_mc._alpha = 100;
 	isiDinamikTeks = "silakan klik kanan di kotak";
 }
 else
 {
 	duplicateMovieClip(kotak_mc, "kotak"+i+"_mc", i);
 	setProperty("kotak"+i+"_mc", _x, _xmouse);
 	setProperty("kotak"+i+"_mc", _y, _ymouse);
 	i++;
 }
}

var listMenuKotak:ContextMenu = new ContextMenu();
var listMenuRoot:ContextMenu = new ContextMenu();
var cutMenu:ContextMenuItem = new ContextMenuItem("cut kotak", potong);
var copyMenu:ContextMenuItem = new ContextMenuItem("copy kotak", salin);
var pasteMenu:ContextMenuItem = new ContextMenuItem("paste kotak", tempel);
var i:Number = new Number(1);
var cutBukanCopy:Boolean = new Boolean();
var isiDinamikTeks:String = new String("silakan klik kanan di kotak");

listMenuKotak.hideBuiltInItems();
listMenuKotak.customItems = [cutMenu,copyMenu];

listMenuRoot.hideBuiltInItems();
listMenuRoot.customItems = [pasteMenu];

kotak_mc.menu = listMenuKotak;
_root.menu = listMenuRoot;

Kalau mau lihat file jadinya, silakan unduh contohnya di http://www.box.net/shared/5bkdzxckcc [size 8KB]

Mendeteksi Klik Kanan

Biasanya kita mendeteksi input dari user adalah ketika mousenya mengklik objek, dan itu defaultnya kita mendeteksi objek tersebut diklik kiri mouse. Lalu bagaimana cara mendeteksi klik kanan?

😀 kalau ini mungkin jarang yang tahu, karena ini tidak dalam dokumentasi yang disertakan Flash. Eh tapi ini tahu ya? Hehehe.. ini baca di e-book ‘flash hacks’

Jadi ternyata ada fungsi ASnative() yang tidak terdokumentasi dan bisa jadi backdoor ke fungsi-fungsi yang ada di flash (mungkin saya ceritakan lebih lengkap kapan2 😛 ).

Nah, untuk mendeteksi klik kanan, kita bisa menggunakan fungsi ASnative(800,2)(2). Contoh sederhananya seperti ini:

onEnterFrame = function()
{
 if(ASnative(800,2)(2))
 {
 	trace("klik kanan terdeteksi");
 }
}
Iklan

16 thoughts on “Nambahin Klik Kanan di Flash

  1. mas thx ya, dengan tips-tipsnya. oya bagaimana cara pasang translator kayak di blog ini? aku pernah tapi model dropdown, dan itupun klo diklik muncul versi translationnya, tapi ada frame yang mengganggu pemandangan. gimana cara ya… thx…

  2. iya sama2.. masang translatornya tinggal kasih link ke google translate aja, dengan tag a href=http://translate.google.com/translate?hl=en&u=http%3A%2F%2Fwww.fadelourlove.blogspot.com%2F&sl=id&tl=en” …dst

  3. makasih ya mas tipsnya bagus banget, soalnya saya baru belajar flash jadi butuh tips-tips yang kayak gini. klo boleh saya minta link ebooknya dong.. tolong ya mas, thanks

  4. maksih y infonya….penting bgt tu bt gw coz pingin bikin skripsi pake flash tapi msih bingung.
    klo yg di download kn dah jd, klo mo ngubah ke mentahnya gmn y???
    thanks!!!

  5. saya hanya mau bilang terima kasih banyak atas semua tutorial di sini, buat saya yang awam tentang flash dan internet sangat sangat terbantu.

  6. pengunjung baru!! *nunjuk hidung sendiri* haahh~~ masih bener2 awan soal flash! tapi tetep usaha~~ wkwkwk

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s