2016-10-20 5 views
0

私は「スロー」と呼ばれるゲームの開発者です(ゲームはベータテスターのベータ版としてのみ利用できます)。 ゲームはFlash 8でActionScript 2.0を使用して作成されます。ActionScript 2.0で簡単にドラッグスロー

私の質問は、誰かがコードを投げるのを手伝ってくれたらと思います。 どういう意味ですか?つまり、「ボール」と呼ばれるムービークリップをドラッグすると、ドロップするまでマウスに追従するということです。

非常にシンプルコード:

on(press) { 
    if (_root.ThrowZone.hitTest(this)) { 
     startDrag(this); 
    } 
} 

on(release) { 
    if (_root.ThrowZone.hitTest(this)) { 
     stopDrag(); 
    } 
} 

は、私はまた、単純な重力コードを設定しているが、それは必要「ということ」ではないので、私はむしろ、それを表示しません。 ムービークリップをリリースするときに「ボール」をスローしたいのですが、リリースする前にどれだけ速く動かされたかに応じて、別の スピードでまっすぐに進むことを意味します。また、スローインとスローアウトそれが起きると同時に。 私はGravityコードを少し覆ってみましたが、それを変えて逆にして、霊能を逆転させましたが、それでは はあなたがそれを投げる方法を同じように持ちません。

ゲームの動作を確認するためにゲームを実際にテストする必要がある場合は、コメントで教えてください。スレッドにリンクを貼ります。

+0

代わりにAS2を使用するのではなく、なぜあなたが使用していないAS3ご段階(ルート)に ? AS2はAS2よりもゲーム開発に適しています –

+0

私はAS2テスト環境を今は持っていないので、投げるオブジェクトをドラッグして透明なターゲットオブジェクトをドラッグしてスローオブジェクトをすべてのエンターフレームでターゲットオブジェクトクリックが解除されたら、それらの間の残りの距離を使用して最終的な速度を計算します。 –

答えて

0

私はこのようになります。ボールに続いて

_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; 
} 
関連する問題