Adobe Animate AS3 中的水平滚动
Posted
技术标签:
【中文标题】Adobe Animate AS3 中的水平滚动【英文标题】:Horizontal scrolling in Adobe Animate AS3 【发布时间】:2017-06-30 15:04:00 【问题描述】:有没有办法在 Adobe 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 CC Javascript - 每次可见时启动动画