2016-10-20 2 views
0

Je suis développeur de jeu appelé "throw" (jeu disponible uniquement en version bêta pour les bêta-testeurs). Le jeu est créé en utilisant ActionScript 2.0 dans Flash 8.Faites glisser, jetez avec facilité dans ActionScript 2.0

Ma question est, si quelqu'un pouvait m'aider à lancer du code. Qu'est-ce que je veux dire? Je veux dire que si vous faites glisser MovieClip appelé "Ball" il suit juste votre souris jusqu'à ce que vous le laissiez tomber.

Code simple:

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

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

J'ai aussi simple, le code de gravité mis en place, mais je préfère ne pas le montrer, car il n'est pas « que » nécessaire. Je veux qu'il lance la "boule" lorsque vous relâchez MovieClip, je veux dire qu'il ira tout droit avec différentes vitesses selon la vitesse à laquelle vous l'avez déplacé avant de le relâcher, je veux aussi qu'il ralentisse et ralentisse comme il se lève. J'ai essayé de couvrir un peu mon code de Gravité, de le changer et de l'inverser, en inversant les médiums, mais ensuite ça va monter de la même façon, pas étonnant que vous le lanciez.

Si vous avez vraiment besoin de tester le jeu afin de voir comment cela fonctionne, dites-moi dans le commentaire, et je vais mettre le lien dans le fil.

+0

Au lieu d'utiliser AS2, pourquoi utilisez-vous pas AS3? AS3 est plus adapté pour le développement de jeux que AS2 –

+0

Comme je n'ai pas d'environnement de test AS2 pour le moment, je ne peux que suggérer de faire glisser l'objet de lancer, de faire glisser l'objet cible transparent et de le déplacer vers le objet cible sur chaque image. Une fois que le clic est relâché, utilisez la distance restante entre eux pour calculer la vélocité finale. –

Répondre

0

Je voudrais aller comme ça. Sur votre scène (racine):

_global.$stage = this; 
var isDragging = false; 
var dragTarget = null; 
$stage.onEnterFrame = function() {  
    if(isDragging){ 
     $stage.dragTarget._x = $stage._xmouse; 
     $stage.dragTarget._y = $stage._ymouse; 
    }  
} 

Puis sur la balle:

on(press) { 
    $stage.isDragging = true; 
    $stage.dragTarget = this; 
} 

on(release) { 
    $stage.isDragging = false; 
}