我仍然是动作脚本的新手,并且对于实施滑动手势已经困惑了几天。 我正在制作一个类似于水果忍者的游戏,用户在其中滑动传入的物体,我一直试图弄清楚如何在滑动它后使物体从屏幕上掉下来。
import flash.events.Event;
import flash.ui.Multitouch;
import flash.ui.MultitouchInputMode;
//haggis movement
stage.addEventListener(Event.ENTER_FRAME, gameloop);
function gameloop(e:Event):void {
haggis.x=70;
if (haggis.x<-130)
{
haggis.x=1200;
}
}
//Swipe Gesture
Multitouch.inputMode = MultitouchInputMode.GESTURE;
stage.addEventListener(TransformGestureEvent.GESTURE_SWIPE , onSwipe);
function onSwipe (e:TransformGestureEvent):void{
if (e.offsetX == 1) {
//User swiped towards right
haggis.y += 200;
}
if (e.offsetX == -1) {
//User swiped towards left
haggis.y += 200;
}
if (e.offsetY == 1) {
//User swiped towards bottom
haggis.y += 200;
}
if (e.offsetY == -1) {
//User swiped towards top
haggis.y += 200;
}
}
//piper hit by haggis
piper.addEventListener(Event.ENTER_FRAME, piper_damaged);
function piper_damaged(event:Event):void {
if (piper.hitTestObject(haggis)) {
piper.gotoAndPlay(2);
}
}
haggis是用户要刷的对象。
我也在试图弄清楚如何在从屏幕上掉下来后将haggis重置回原来的位置,对此的任何帮助都将不胜感激,谢谢。
答案 0 :(得分:0)
在游戏循环中为haggis.y添加增量,即:
haggis.y ++;
如果你想模拟重力增量yMomemtum变量并将其添加到haggis.y;
如果你希望haggis只在你刷过它后才会掉落,添加一个haggisSwiped:Boolean并在玩家滑动时将其设置为true。然后,在游戏循环中,检查:
if (haggisSwiped) {
haggis.y ++;
}
此外,您在每帧都将haggis.x设置为70并立即检查它是否小于-130。你知道为什么吗,因为我不知道。