在 ActionScript 2.0 中轻松拖放
Posted
技术标签:
【中文标题】在 ActionScript 2.0 中轻松拖放【英文标题】:Drag, throw with ease in ActionScript 2.0 【发布时间】:2017-03-02 19:04:54 【问题描述】:我是名为“throw”的游戏开发者(游戏仅作为 beta 测试版提供给 beta 测试者)。 游戏是使用 Flash 8 中的 ActionScript 2.0 创建的。
我的问题是,是否有人可以帮助我抛出代码。 我是什么意思?我的意思是,如果您拖动名为“Ball”的影片剪辑,它只会跟随您的鼠标直到您放下它。
很简单的代码:
on(press)
if (_root.ThrowZone.hitTest(this))
startDrag(this);
on(release)
if (_root.ThrowZone.hitTest(this))
stopDrag();
我也设置了简单的重力代码,但我不想展示它,因为它不是“那个”需要的。 我希望它在你发布影片剪辑时抛出“球”,我的意思是它会以不同的方式直接上升 速度取决于你在释放它之前移动它的速度,我也希望它在它起床时变慢和变慢。 我尝试过稍微覆盖一下我的重力代码,更改它并反转它,反转通灵,但它会 以同样的方式上去,难怪你是怎么扔的。
如果你真的需要测试游戏来看看它是如何工作的,请在评论中告诉我,我会在线程中放上它的链接。
【问题讨论】:
不使用AS2,为什么不使用AS3? AS3比AS2更适合游戏开发 由于我现在没有AS2的测试环境,所以只能建议大家不要拖着投掷物,而是拖动透明的目标物,让投掷物朝着目标物移动在每个enterframe。释放点击后,使用它们之间的剩余距离来计算最终速度。 【参考方案1】:我会这样。 在你的舞台上(根):
_global.$stage = this;
var isDragging = false;
var dragTarget = null;
$stage.onEnterFrame = function()
if(isDragging)
$stage.dragTarget._x = $stage._xmouse;
$stage.dragTarget._y = $stage._ymouse;
然后在球上:
on(press)
$stage.isDragging = true;
$stage.dragTarget = this;
on(release)
$stage.isDragging = false;
【讨论】:
以上是关于在 ActionScript 2.0 中轻松拖放的主要内容,如果未能解决你的问题,请参考以下文章
ActionScript 3 actionscript 3简单的拖放
ActionScript 2.0 和 ActionScript 3.0 有啥区别