如果用户没有与动画交互,Actionscript 3 执行一个动作

Posted

技术标签:

【中文标题】如果用户没有与动画交互,Actionscript 3 执行一个动作【英文标题】:Actionscript 3 perform an action if the user has not interacted with the animation 【发布时间】:2016-08-29 14:15:37 【问题描述】:

如果用户在 30 秒内没有采取任何行动,是否有一种简单的方法可以让行动发生?没有动作意味着没有点击,也没有滚动,但是如果用户移动他们的鼠标,这不应该算作一个动作。

我的动画是针对一个网站的,如果用户没有主动与动画的交互部分进行交互,我希望它能够显示动画循环。

【问题讨论】:

您可以为所有鼠标事件(向下、向上)和键盘事件(向下、向上)添加一个计时器和侦听器到您的舞台(或影片剪辑),并检查它们是否在之后都没有发生30 秒。 【参考方案1】:
    创建一个新的Timer 并将它的delay 设置为30 秒。 TimerEvent 触发时,启动动画循环。 当发生任何应被视为用户交互的操作时,请在 Timer 对象上调用 reset()start() 以将其倒回。

或者,根据文档,您应该能够通过为 .delay 属性赋值来重新启动 Timer 对象:

如果您在计时器运行时设置延迟间隔,计时器将在相同的repeatCount 迭代中重新启动。

因为您将再次为延迟设置相同的值(30 秒),所以我不确定这是否也有效。

【讨论】:

以上是关于如果用户没有与动画交互,Actionscript 3 执行一个动作的主要内容,如果未能解决你的问题,请参考以下文章

前端之JavaScript

js笔记-语句,变量

《每周一点canvas动画》——用户交互

TableView 交互阻止单元格中的动画

ActionScriptFlash与网页的交互,ActionScript与JavaScript的交互

Flutter(Flare) 最有趣用户交互动画没有之一