你好我试图让我的gotoAndStop按钮作为滑动而不是onpress。但它只工作一次,我做的第二帧不再工作,我不知道错误请帮帮我,谢谢
Multitouch.inputMode = MultitouchInputMode.GESTURE;
story1chapter3.addEventListener(TransformGestureEvent.GESTURE_SWIPE , onSwipe);
function onSwipe (e:TransformGestureEvent):void{
if (e.offsetX == 1) {
//User swiped towards right(back button)
story1chapter3.x += 100;
gotoAndStop(31);
}
if (e.offsetX == -1) {
//User swiped towards left(next)
story1chapter3.x -= 100;
gotoAndStop(159);
}
}
此代码正在运行,但是当我尝试在不同的框架中创建另一个与此相同的代码时,它不再起作用,我也更改了实例名称,因此它不会重复
Multitouch.inputMode = MultitouchInputMode.GESTURE;
story1chapter2.addEventListener(TransformGestureEvent.GESTURE_SWIPE , onSwipe);
function onSwipe2 (e:TransformGestureEvent):void{
if (e.offsetX == 1) {
//User swiped towards right(back button)
story1chapter2.x += 100;
gotoAndStop(30);
}
if (e.offsetX == -1) {
//User swiped towards left(next)
story1chapter1.x -= 100;
gotoAndStop(27);
}
}
PS我也尝试将onSwipe2更改为onSwipe,但错误说明其重复
答案 0 :(得分:0)
这不是干净的方式,通过有两个相似的功能,但这是另一个主题:)我认为问题是当你第二次滑动时,BOTH事件监听器正在获取滑动事件,并且两者都试图的gotoAndPlay。尝试在滑动时删除事件侦听器:
story1chapter3.addEventListener(TransformGestureEvent.GESTURE_SWIPE , onSwipe);
function onSwipe (e:TransformGestureEvent):void{
if (e.offsetX == 1) {
//User swiped towards right(back button)
story1chapter3.x += 100;
story1chapter3.removeEventListener(TransformGestureEvent.GESTURE_SWIPE , onSwipe);
gotoAndStop(31);
}
if (e.offsetX == -1) {
//User swiped towards left(next)
story1chapter3.x -= 100;
story1chapter3.removeEventListener(TransformGestureEvent.GESTURE_SWIPE , onSwipe);
gotoAndStop(159);
}
}
更好的方法是在舞台上只有一个事件监听器,并且有一个功能可以根据你当前的位置将玩家带到正确的章节,那么你就不需要乱用几个功能但是一切都在一个地方