as3 hitTestObject() pour toucher tous les
Dans mon jeu, j'ai personne qui filme et j'ai besoin si la balle a touché quelque chose pour supprimer le sprite.
var i = 1;
var f:Function;
addChild(bullet);
bullet.addEventListener(Event.ENTER_FRAME, f = function(){
bullet.x += movex*i;
bullet.y += movey*i;
i++;
});
Comment faire hitTestObject()
avec tout?
Vous devez vous connecter pour publier un commentaire.
Il y a un tas de techniques pour la détection de collision, cependant, la méthode à utiliser dépend de la cible de l'objet de forme. Pixel perfect hittesting est la plus précise de la méthode de détection de collision, même si c'est très lent. Géométriques hittesting est probablement la manière la plus rapide et peut être très précis si fait correctement. Un inconvénient à l'aide de
hitTestObject
est qu'il est assez lent. Donc mon avis dans le cas où vous devez gérer une grande piscine de l'objet à l'aide de méthodes alternatives de détection de collision.Certainement pour objet à la détection de collision, vous avez besoin de faire une boucle sur chaque objet cible placées dans un tableau (mais pour des améliorations de performances dans un
<Vector>
) et de tester si la balle frappe l'objet de destination.Il vaut la peine de lire ces articles pour de plus amples explications:
http://plasticsturgeon.com/2011/03/actionscript-collision-detection-u-circle-circle-collision-detection/
http://www.mikechambers.com/blog/2009/06/24/using-bitmapdata-hittest-for-collision-detection/
http://www.mikechambers.com/blog/2009/06/25/strategies-for-optimizing-collision-detection-with-bitmapdata-hittest/
Et ici, c'est une bibliothèque qui faire le gros du travail:
http://code.google.com/p/collisiondetectionkit/
Je voudrais l'aborder comme ça (je suppose que les puces sont des clips d'animations vous sont l'ajout de la bibliothèque).
Je suis en utilisant les zombies et les plantes comme des exemples de MovieClips déjà sur la scène, qui vous sont manuellement le passage dans la liveObjects tableau.
Pour une plus grande échelle des jeux évidemment, vous ne serait pas difficile de code, mais je suis en train de abtract loin les trucs supplémentaires pour rendre l'exemple plus facile à comprendre)
J'espère que vous avez certaines tableau qui contient une référence à toutes les sprites ennemis. Juste une boucle par cet appel hitTestObject() avec la balle.