Collision Delphi/GLSCENE

Signaler
Messages postés
1
Date d'inscription
mercredi 5 mai 2010
Statut
Membre
Dernière intervention
5 mai 2010
-
Messages postés
615
Date d'inscription
dimanche 13 août 2006
Statut
Membre
Dernière intervention
13 décembre 2018
-
Bonjour,
Je travail sur GLSCENE et Delphi 5.
Je fais un programme de simulation de vol. Le but est d'envoyer un objet (automatiquement) vers un point précis tout en évitant les obstacles.

Maintenant mon problème, les obstacles étant généré à une position aléatoire, il arrive que certain obstacles se retrouve collé entre eux et donc actionne le collision manager.
Je voudrai savoir comment faire pour que les collisions ne soit gérer uniquement entre l'objet et les obstacles. (En gros sélectionner dynamiquement un groupIndex.)

Partie de mon code gérant la création dynamique des obstacles:

for i := 0 to StrToInt(NbrObstacle) - 1 do           //Création des obstacles dynamiques
  begin
    NewSize := Random(20) + 1;

    PosX := Random(NewPositionX) - trunc(plane.Width / 2);
    PosZ := Random(NewPositionZ)- trunc(plane.Height / 2);

    Cube[i]:=TGLCube.CreateAsChild(DC_Cube);
    Cube[i].CubeWidth:=(1);
    Cube[i].CubeHeight := NewSize;
    Cube[i].Position.X := PosX;
    Cube[i].Position.Z := PosZ;
    Cube[i].Position.Y := Cube[i].Position.Y + (Cube[i].CubeHeight / 2);
    Cube[i].Behaviours := CFPT.Behaviours;      //Récupère les behaviours de l'obstacle principal.


    Memo1.Lines.Add(intToStr(trunc(Cube[i].Position.X)) + ' ; ' + intToStr(trunc(Cube[i].Position.Z)));


Merci d'avance

1 réponse

Messages postés
615
Date d'inscription
dimanche 13 août 2006
Statut
Membre
Dernière intervention
13 décembre 2018
3
bj ProgMiaou
Que ce soit GLScene ou D5, c'est un problème de vérification de coordonnées. => Algorithmique.
Tes obstacles définissent des limites en X et Y que ton Objet (gravité ou pourtour) ne doit pas franchir.
bonne prog!
Jean_Jean