Forums Développement Multimédia

Aller au contenu

- - - - -

HiTest

HiTest tableau Array

2 réponses à ce sujet

#1 philphil

  • Guests

Posté 02 August 2014 - 00:58 AM

Hello,

J'ai bien besoin d'un coup de main, dans mon programme, j'affiche des occurrences sur la scène de manière aléatoires, jusque la ok, mais j'aimerai aussi que les occurrences ne se touchent jamais.

Une idée comment faire ?

J'ai pensé utiliser un hit Test entre chaque occurrence et dans le cas ou il serai positif, changer la position d'une des occurrences qui participent aux Hit test.

Mais même la je suis pas sur de la meilleur façon de procéder...

Merci pour l'aide.

#2 Monsieur Spi

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 7012 messages

Posté 02 August 2014 - 01:21 AM

Salut,

A mon avis c'est la base pour faire une simulation de foule avec un peu d'intelligence artificielle.
Pense chaque occurrence comme un individu qui a un cerveau rempli de commandes basique comme :

Choisi un point a atteindre.
-- Regarde la prochaine position que tu auras quand tu fera un pas en avant vers ce point
----Si cette position renvoie une collision avec un autre individu ou un obstacle, choisis une autre direction et recommence
---- Sinon si tu l'atteins choisis-en un autre et recommence
---- Sinon Avance vers ce point

Tu as des automates capable de s'éviter.
Un peu de POO là dessus pour créer une classe d'individu et ses comportements (le moule).
Puis tu n'as plus qu'à créer autant d'individus que tu veux.

PS : évites le hittest pour les collisions et jettes un oeil ici : http://forums.mediab...iche_collisions

#3 philphil

  • Guests

Posté 12 August 2014 - 15:11 PM

Hello,

Merci Spi pour ta contribution.

Finalement je me suis aperçu que des positions 100% aléatoires n'étaient pas la meilleur idée.
J'ai utilisé un tableau qui contient les coordonnées des diverses position possible et je les choisit de manière aléatoire.

++




Répondre à ce sujet



  

1 utilisateur(s) li(sen)t ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)