In this case I will show you how to create swipe gesture
effect using Touch Point input mode. This method will be very useful when the
input mode for gesture and touch point can’t be run together. To build the
appilacation make the movieclip as container first and named “bilangan_items”. The design
of the container look like this:
The second step is
write the code. The code is written below:
Multitouch.inputMode
= MultitouchInputMode.TOUCH_POINT;
var
currentGalleryItem:Number = 1;
var
totalGalleryItems:Number = 5;
var
n_sentuhStart:Number=new Number();
// Get x value from
stage when touch is begin
function
sentuh_mulai(event:TouchEvent):void
{
n_sentuhStart = event.stageX;
trace(n_sentuhStart);
}
//get x value
when touch is end
var
n_sentuhEnd:Number=new Number();
function
sentuh_selesai(event:TouchEvent):void
{
n_sentuhEnd = event.stageX;
trace(n_sentuhEnd);
}
stage.addEventListener(TouchEvent.TOUCH_BEGIN,sentuh_mulai);
stage.addEventListener(TouchEvent.TOUCH_END,sentuh_selesai);
// determine the
offset value based on x value and then animate the
//movieclip
function
geser(event:TouchEvent):void
{
var jarak:Number=new Number();
jarak=Math.sqrt((n_sentuhStart-n_sentuhEnd)*(n_sentuhStart-n_sentuhEnd));
var ofsetX:Number=new Number();
if
(((n_sentuhEnd-n_sentuhStart)>0)&&jarak>=30)
{
ofsetX = -1;
}
else if
(((n_sentuhEnd-n_sentuhStart)<0)&&jarak>=30)
{
ofsetX = 1;
}
trace(ofsetX);
trace(jarak);
// oke, geser lagi...
if (ofsetX==-1)
{
if (currentGalleryItem > 1)
{
currentGalleryItem--;
slideRight();
}
bg_color.gotoAndPlay((currentGalleryItem*10)+1);
}
if (ofsetX==1)
{
if (currentGalleryItem <
totalGalleryItems)
{
currentGalleryItem++;
slideLeft();
}
bg_color.gotoAndPlay((currentGalleryItem*10)+1);
}
}
stage.addEventListener(TouchEvent.TOUCH_END,geser);
var
slideCounter:Number = 0;
function
slideLeft()
{
bilangan_items.addEventListener("enterFrame",
moveGalleryLeft);
}
function
slideRight()
{
bilangan_items.addEventListener("enterFrame",
moveGalleryRight);
}
function
moveGalleryLeft(evt:Event)
{
bilangan_items.x -= 40;
slideCounter++;
if (slideCounter == 20)
{
bilangan_items.removeEventListener("enterFrame",
moveGalleryLeft);
slideCounter = 0;
}
}
function
moveGalleryRight(evt:Event)
{
bilangan_items.x += 40;
slideCounter++;
if (slideCounter == 20)
{
bilangan_items.removeEventListener("enterFrame",
moveGalleryRight);
slideCounter = 0;
}
}
Try to test your movie! May be useful..
Tidak ada komentar:
Posting Komentar