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:

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");
}
}
Filed under: ActionScript 2.0, Flash, Template, Tips 'n trik, Tutorial | 11 Comments
RSS - Posts
wew…. klik kanannya ternyata bisa dimanipulasi yha?
ini utk smua versi ActionScript?
iya, bisa ternyata.. ini ada di folder samples & tutorialnya flash 8
mas fungsi klik kanan apa maksudnya saya kurang jelas
mas saya coba kirim email kok gagal
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…
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
koq dah ku coba masih ada frame putih ya…? apa aku yang gk mudeng cara pasang link nya…? gimana ya mas…? thx
frame putih? maksudnya di frame yg di atas itu ya.. itu mah emang dari google translatenya
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