【问题标题】:Drag, throw with ease in ActionScript 2.0在 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。释放点击后,使用它们之间的剩余距离来计算最终速度。

标签: flash actionscript-2 drag throw


【解决方案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;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多