"Kembali Ke Dasar Elektronika Digital ... "

Senin, 11 Maret 2013

Tutorial Gesture (kontrol layar dengan jari) pada Adobe Air



Gesture merupakan fasilitas yang disediakan oleh smartphone untuk mempermudah operasi pada layar dengan menggunakan kombinasi sentuhan 2 buah jari. Gesture yang paling terkenal adalah zoom dengan menggunakan 2 jari pada layar yang kemudian jari ini di jauhkan posisinya sesuai besar zoom yang diinginkan. Kali ini juga akan dibahas mengenai gesture rotate/putar serta swipe/geser.

(klik pada gambar dibawah untuk memperjelas)



Tutorial kali ini dimulai dengan mengcopy paste gambar pada library , sebaiknya jika menggunakan gambar dari luar menggunakan format PNG yang memudahkan penampakan transparansi dari gambar. Contoh yang diberikan berupa gambar robot android, yang kemudian movieclipnya diberikan nama instance "robo".

Letakkan gambar robot ditengah layar /stage utama dan kemudian buatlah "layer" untuk menyisipkan actionscript. Untuk gesture zoom dan rotate sangatlah mudah seperti pada contoh script berikut:






Multitouch.inputMode = MultitouchInputMode.GESTURE;
stage.addEventListener(TransformGestureEvent.GESTURE_ZOOM, onZoom);
stage.addEventListener(TransformGestureEvent.GESTURE_ROTATE, onRotate);

function onZoom(evt:TransformGestureEvent):void {
 
 
robo.scaleX *= evt.scaleX;
robo.scaleY *= evt.scaleY;
 
}

function onRotate(evt:TransformGestureEvent):void {
robo.rotation += evt.rotation;

}



Terlihat betapa simplenya script yang digunakan untuk membuat efek zoom dan rotate dan langsung bisa diaplikasikan untuk merubah scale atau pembesaran serta rotation dari posisi x dan y pada instance "robo".

Baiklah kita lanjutkan dengan pembahasan yg lebih lanjut yaitu gesture swipe. Gesture swipe biasanya ditemui ketika membaca majalah digital contohnya saat membalik halaman pada tablet/handheld. Nilai yang dihasilkan dari proses swipe ini adalah angka yang tetap, yaitu -1 untuk swipe dari kanan ke kiri atau atas ke bawah, sedangkan sebaliknya akan menghasilkan angka 1.

Untuk itu kita butuh membuat robot android satu lagi dan kita namakan robo2, dan robot android cewek ini akan kita berikan classname sendiri, bukan dengan instance name seperti contoh sebelumnya



Class name yang kita buat adalah robo1 dan robo2 dimana nantinya akan dipanggil ke dalam stage menggunakan script seperti berikut


import flash.display.MovieClip; //class otomatis ditambahkan pada CS5.5

Multitouch.inputMode = MultitouchInputMode.GESTURE;
stage.addEventListener(TransformGestureEvent.GESTURE_ZOOM, onZoom);
stage.addEventListener(TransformGestureEvent.GESTURE_ROTATE, onRotate);
stage.addEventListener(TransformGestureEvent.GESTURE_SWIPE, onSwipe);

var t:Timer = new Timer(1); //timer untuk animasi gerak
t.addEventListener(TimerEvent.TIMER, onTimer); 


var robot:MovieClip; //variable untuk movieclip robo
var pilihan:Number = 1;
var step:Number = 1;
//awal tampilan
robot= new robo1;
addChild(robot);
robot.x=160;
robot.y=240;




function onZoom(evt:TransformGestureEvent):void {
 
 
robot.scaleX *= evt.scaleX;
robot.scaleY *= evt.scaleY;
 
}

function onRotate(evt:TransformGestureEvent):void {
robot.rotation += evt.rotation;

}


//perlakuan terhadap hasil swipe ke animasi
 
function onTimer(event:TimerEvent):void{
robot.x -=5;
if(robot.x < (-robot.width/2)     )  {
 removeChild(robot);
    robot=null;
 if(pilihan == 1){
 robot=new robo2;
 pilihan=2;
 step=2;
 }
 else{
 robot=new robo1;
 pilihan=1;
 step=2;
 }
 
 addChild(robot);
 robot.x=350;
 robot.y=240;
}
if(step == 2 && robot.x <= 161){
 t.stop();
 step=1;
}

event.updateAfterEvent();
}
 
 


function onSwipe(evt:TransformGestureEvent):void {

 if(evt.offsetX == -1){
 
 t.start();

 
 }




}


Simple dan sangat powerful !! hanya itu kata yang dapat saya berikan kepada adobe air, dan hasilnya dapat dilihat pada video berikut :






Jangan lupa untuk membaca tutorial sebelumnya jika ingin melihat cara publish ke handheld android kamu. Source code untuk tutorial ini dapat di download disini

SELAMAT MENCOBA
Share:

0 komentar:

Posting Komentar

Kontak Langsung



12179018.png (60×60)
+628155737755

HP: 081331339072
Mail : ahocool@gmail.com

ANTI SPAM !



Blog Ini Mendukung Blogger Indonesia Yang Jujur dan Memberikan Informasi Sebenarnya, Bukan Menyampah Demi $Rp$ Yang Hanya Merendahkan Blogger Indonesia

Site View

Categories

555 (6) 7 segmen (3) adc (3) amplifier (1) analog (9) android (11) attiny (1) attiny2313 (16) blog (1) bluetooth (1) cmos (1) dasar (31) display (2) gcc (1) infrared (2) Input Output (3) jam (6) jualan (10) kereta api (1) keyboard (1) keypad (3) kios pulsa (2) kit (6) komponen (9) komputer (3) komunikasi (1) kontrol (2) lain-lain (8) lcd (2) led (9) led matrix (6) line tracer (1) lm35 (1) memory (1) metal detector (4) microcontroller (48) mikrokontroller (1) mikrotik (4) paket belajar (19) palang pintu otomatis (1) pcb (2) project (33) proyek (1) radio (3) remote (1) revisi (1) rfid (1) robot (1) rpm (2) rs232 (1) script break down (3) sdcard (3) sensor (1) sharing (2) sms (5) software (16) tachometer (2) telepon (7) televisi (16) transistor (1) troubleshoot (3) tulisan (34) tutorial (67) vu meter (1) vumeter (1) wav player (3) wayang (1) wifi (1)

Diskusi


kaskus
Forum Hobby Elektronika