Adobe Animate AS3 中的水平滚动

Posted

技术标签:

【中文标题】Adobe Animate AS3 中的水平滚动【英文标题】:Horizontal scrolling in Adobe Animate AS3 【发布时间】:2017-06-30 15:04:00 【问题描述】:

有没有办法在 Adob​​e Animate AS3 中捕捉水平滚动? 到目前为止,我有:

addEventListener(MouseEvent.MOUSE_WHEEL, function(e:MouseEvent)
    trace(e.delta);
);

...但这只会在垂直滚动时触发,并且只会给我垂直增量。

【问题讨论】:

哪种输入设备可以为您提供水平滚动功能? 有什么问题?使用鼠标滚轮的垂直数字(y 轴)来控制屏幕项目的水平(x)位置...简单! 我的 Macbook 触控板支持两指滚动。我上面的代码捕获了两指垂直滚动。 @VC.One:我不知道你所说的“垂直数字”是什么意思。请提供代码示例。 如果它只在垂直滚动时触发,那么水平增量是什么意思? 【参考方案1】:

虽然这个问题是一个老话题,而且由于到目前为止没有给出答案,我还是为以后的读者回答这个问题。

假设你的舞台中有一个 ScrollPane 组件,它显示一个大图像,那么你可以通过监听 ScrollEvent 来监听水平滚动(实际上是两个滚动),如下所示:

import fl.containers.ScrollPane;
import fl.events.ScrollEvent;

var img: ScrollPane = new ScrollPane(...); // Create a scroll pane for scroll event
img.source = ImgClass; // A Bitmap class containing dummy image to scroll

this.addChild(img);

img.addEventListener(ScrollEvent.SCROLL, onScroll);

function onScroll(e: ScrollEvent) 
  if (e.direction === "horizontal")  // Trace only on horizontal scroll
    trace("Delta: " + e.delta);
    trace("Position: " + e.position);
  

【讨论】:

以上是关于Adobe Animate AS3 中的水平滚动的主要内容,如果未能解决你的问题,请参考以下文章

adobe animate - 发布到 I Phone

Adobe Animate CC Javascript - 每次可见时启动动画

使用 animate.css 自定义水平滚动

Flash CS4 AS3 水平动画剪辑滚动鼠标移动

jsfl中的exportSVG在adobe animate中作为命令运行不起作用

Adobe Animate JS 输出文件