Actionscript 3.0 - 缓动拖拽

     2023-05-08     257

关键词:

【中文标题】Actionscript 3.0 - 缓动拖拽【英文标题】:Actionscript 3.0 - drag and throw with easing 【发布时间】:2011-02-25 02:52:54 【问题描述】:

我在 Flash 中创建了一个地图,我希望有一个类似这样的平滑运动: http://www.conceptm.nl/

我已经开始了,但我无法将它带入下一阶段。

我的代码当前在释放鼠标后会抛出动画剪辑,但在鼠标按钮按下时没有缓动。

关于如何实现这一点的任何提示?

这是我当前的代码:

// Vars
var previousPostionX:Number;
var previousPostionY:Number;
var throwSpeedX:Number;
var throwSpeedY:Number;
var isItDown:Boolean;

// Event Listeners
addEventListener(MouseEvent.MOUSE_DOWN, clicked);
addEventListener(MouseEvent.MOUSE_UP, released);

// Event Handlers
function clicked(theEvent:Event) 
isItDown =true;
addEventListener(Event.ENTER_FRAME, updateView);


function released(theEvent:Event) 
    isItDown =false;


function updateView(theEvent:Event) 
    if (isItDown==true)
        throwSpeedX =  mouseX - previousPostionX;
        throwSpeedY =  mouseY - previousPostionY;
        mcTestMovieClip.x = mouseX;
        mcTestMovieClip.y = mouseY;
    
    else
    mcTestMovieClip.x += throwSpeedX;
    mcTestMovieClip.y += throwSpeedY;
    throwSpeedX *=0.9;
    throwSpeedY *=0.9;
    
    previousPostionX= mcTestMovieClip.x;
    previousPostionY= mcTestMovieClip.y;

【问题讨论】:

【参考方案1】:

我建议使用加速度而不是速度。不过,您至少需要三个点才能获得加速。您可以添加一些摩擦力,让您的对象看起来更重。

我之前没有使用过 TweenLite 库的这一部分,但总体而言,这个库非常棒,它可能会对您有所帮助。

http://www.greensock.com/as/docs/tween/com/greensock/plugins/Physics2DPlugin.html

更新:抱歉,这个插件似乎是付费俱乐部 greensock 会员的一部分。

【讨论】:

【参考方案2】:

greensock 的人现在已经开发了一个 ThrowPropsPlugin 来处理这件事。

【讨论】:

ActionScript 2.0 和 ActionScript 3.0 有啥区别

】ActionScript2.0和ActionScript3.0有啥区别【英文标题】:WhatisthedifferencebetweenActionScript2.0andActionScript3.0ActionScript2.0和ActionScript3.0有什么区别【发布时间】:2011-08-3115:44:01【问题描述】:版本之间的主要区别是什么?【问题讨论】:【... 查看详情

在 ActionScript (3.0) 中干净地合并两个数组?

】在ActionScript(3.0)中干净地合并两个数组?【英文标题】:CleanlymergetwoarraysinActionScript(3.0)?【发布时间】:2010-09-2500:34:42【问题描述】:在ActionScript(特别是ActionScript3.0)中合并两个排序数组的好方法是什么?生成的数组应该排... 查看详情

actionscript3actionscript3.0计时器事件(代码片段)

查看详情

actionscript3actionscript3.0算术运算符(代码片段)

查看详情

ActionScript 3.0 声音不工作

】ActionScript3.0声音不工作【英文标题】:ActionScript3.0soundnotworking【发布时间】:2017-06-0710:34:18【问题描述】:所以在键盘按下时无法发出声音我有进口商品:importflash.net.URLRequest;importflash.media.Sound;我有变量privatevarsoundDownRequest:URL... 查看详情

ActionScript 3.0 加载 PDF

】ActionScript3.0加载PDF【英文标题】:ActionScript3.0LoadPDF【发布时间】:2017-06-0806:05:46【问题描述】:我正在尝试使用ActionScript将PDF加载到我的Adob​​eAir应用程序中,在我的机器上我有最新的Adob​​eAcrobatReaderDC和Adob​​eAcrobatXIPr... 查看详情

使用 Actionscript 3.0 淡入声音

】使用Actionscript3.0淡入声音【英文标题】:FadeINsoundwithActionscript3.0【发布时间】:2018-10-0220:05:14【问题描述】:我已经设法使用GreenSock的这段代码和插件淡出声音:importcom.greensock.TweenLite;importcom.greensock.TweenMax;varsnd=newbuller();varcha... 查看详情

Actionscript 3.0 警告为错误

】Actionscript3.0警告为错误【英文标题】:Actionscript3.0warningaserror【发布时间】:2011-07-3020:53:59【问题描述】:是否可以配置Adob​​eFlashCS3ActionScript以使其将警告视为错误?【问题讨论】:如果您使用的是第三方库,请小心使用这... 查看详情

ActionScript 3.0 + 计算两个日期之间的时间跨度?

】ActionScript3.0+计算两个日期之间的时间跨度?【英文标题】:ActionScript3.0+Calculatetimespanbetweentwodates?【发布时间】:2010-09-1505:08:53【问题描述】:在ActionScript3.0中,是否有自动计算两个指定日期之间的天数、小时数、分钟数和秒... 查看详情

Flash / ActionScript 3.0 中的 StackTrace

】Flash/ActionScript3.0中的StackTrace【英文标题】:StackTraceinFlash/ActionScript3.0【发布时间】:2010-09-1400:38:00【问题描述】:我想在我的代码的任何函数中查看堆栈跟踪,所以我做了这样的事情来调用它并打印堆栈跟踪:publicfunctionPrintS... 查看详情

ActionScript 3.0 类

】ActionScript3.0类【英文标题】:ActionScript3.0Class【发布时间】:2013-04-0422:21:00【问题描述】:我有一个关于动作脚本类的问题。我想知道我是否可以在一个fla中拥有多个课程?或者不同帧或场景上的不同类?例如第二帧/场景的井... 查看详情

Actionscript 3.0 调用 Javascript 不起作用?

】Actionscript3.0调用Javascript不起作用?【英文标题】:Actionscript3.0callingJavascriptnotworking?【发布时间】:2013-09-0416:38:52【问题描述】:所以,我正在使用ExternalInterface.call("functionNameInJavascript");,但它不起作用......在HTML包装... 查看详情

使用 ActionScript 3.0 解析 XML

】使用ActionScript3.0解析XML【英文标题】:ParsingXMLwithActionScript3.0【发布时间】:2013-05-1600:59:10【问题描述】:我有一个这样的XML:<?xmlversion="1.0"encoding="UTF-8"standalone="yes"?><Rootxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance 查看详情

使用 Emacs 漂亮地打印 ActionScript 3.0

】使用Emacs漂亮地打印ActionScript3.0【英文标题】:UseEmacstopretty-printActionScript3.0【发布时间】:2011-05-0503:41:25【问题描述】:我一直在尝试在批处理模式下使用emacs来漂亮地打印ActionScript文件,但它并没有完全达到我的预期。我从... 查看详情

Actionscript 3.0 数组问题

】Actionscript3.0数组问题【英文标题】:Actionscript3.0ArrayIssue【发布时间】:2016-08-0408:28:00【问题描述】:我目前正在使用Flash制作游戏原型,过去我通常会避免使用数组,这意味着我对它们比较陌生,但在我目前制作的游戏中,有... 查看详情

Swiffy 是不是支持 actionscript 3.0 外部类?

】Swiffy是不是支持actionscript3.0外部类?【英文标题】:DoesSwiffysupportsactionscript3.0externalclasses?Swiffy是否支持actionscript3.0外部类?【发布时间】:2014-09-1314:57:23【问题描述】:我想问一下Swiffy是否支持Actionscript外部类,还是只支持... 查看详情

(ActionScript 3.0)我的函数没有通过按钮事件更新全局变量

】(ActionScript3.0)我的函数没有通过按钮事件更新全局变量【英文标题】:(ActionScript3.0)MyfunctionisnotupdatingtheglobalvariableviaButtonEvent【发布时间】:2016-09-2215:48:40【问题描述】:我想弄清楚如何更新我的全局变量。目前,我只是将... 查看详情

函数不返回值(错误 1170;ActionScript 3.0)

】函数不返回值(错误1170;ActionScript3.0)【英文标题】:Functiondoesnotreturnavalue(Error1170;ActionScript3.0)【发布时间】:2016-09-1901:55:58【问题描述】:我目前正在尝试创建一个系统,在该系统中,每次调用函数时都会滚动一个新数字... 查看详情