AccueilAccueil  FAQFAQ  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
Le Deal du moment : -28%
Précommande : Smartphone Google Pixel 8a 5G ...
Voir le deal
389 €

 

 [Résolu] Collision d'un draw_rectangle.

Aller en bas 
4 participants
AuteurMessage
Caly
Utilisateur confirmé: Rang ****
Caly


Messages : 1285
Localisation : Haute Normandie
Projet Actuel : Capturer, apprivoiser et dresser des Pokémons sauvages pour faire des spectacles de rue et en faire mon métier.

[Résolu] Collision d'un draw_rectangle. Empty
MessageSujet: [Résolu] Collision d'un draw_rectangle.   [Résolu] Collision d'un draw_rectangle. EmptyDim 9 Oct 2011 - 13:50

Bonjour,

Voici une partie de mon code qui désine un rectangle de la taille d'un objet.
Citation :
if(mouse_check_button_pressed(mb_left)){
x1=mouse_x;
y1=mouse_y;
create = true;
}

if(mouse_check_button_released(mb_left) and x1!=false){

// [...] creation de l'objet
create = false;
}

if( create==true){

if(point_distance(x1,y1,mouse_x,y1)*point_distance(x1,y1,x1,mouse_y) > global.mana)
draw_set_color(c_red);
else
draw_set_color(c_white);

draw_rectangle(x1,y1,mouse_x,mouse_y,true);
}

J'aimerais savoir s'il existe une fonction qui nous renverrait si le rectangle et l’intérieur du rectangle est en collision avec un objet solide?
Pour le moment on le sais seulement après avoir créé l'objet et en fessant le test avec un "place_free();"
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


Messages : 9180
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

[Résolu] Collision d'un draw_rectangle. Empty
MessageSujet: Re: [Résolu] Collision d'un draw_rectangle.   [Résolu] Collision d'un draw_rectangle. EmptyDim 9 Oct 2011 - 17:00

aabb collision

Code:
BboxCollision( BBox box1, BBox box2 )
{
   
   if( box1.Min.x > box2.Max.x ) return false;
   if( box1.Max.x < box2.Min.x ) return false;
   if( box1.Max.z > box2.Min.z ) return false;
   if( box1.Min.z < box2.Max.z ) return false;
      return true;
}

_________________
[Résolu] Collision d'un draw_rectangle. Runningpotato1[Résolu] Collision d'un draw_rectangle. TvF6GED [Résolu] Collision d'un draw_rectangle. MdetltS
Revenir en haut Aller en bas
Mass
*Excellent utilisateur*
Mass


Messages : 3351
Localisation : Dans une canonnière wookie.
Projet Actuel : Monter des trucs et des machins

[Résolu] Collision d'un draw_rectangle. Empty
MessageSujet: Re: [Résolu] Collision d'un draw_rectangle.   [Résolu] Collision d'un draw_rectangle. EmptyLun 10 Oct 2011 - 0:29

collision_rectangle()

_________________
Revenir en haut Aller en bas
http://madmass.mype.fr/CBNA/
Caly
Utilisateur confirmé: Rang ****
Caly


Messages : 1285
Localisation : Haute Normandie
Projet Actuel : Capturer, apprivoiser et dresser des Pokémons sauvages pour faire des spectacles de rue et en faire mon métier.

[Résolu] Collision d'un draw_rectangle. Empty
MessageSujet: Re: [Résolu] Collision d'un draw_rectangle.   [Résolu] Collision d'un draw_rectangle. EmptyMar 11 Oct 2011 - 14:08

Bonjour,

Merci onilink_ et Mass pour vos reponses!

Onilink_ as tu une raison particulière de me montrer un script au lieu d'une fonction interne qui reste plus rapide au niveau perf?
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


Messages : 9180
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

[Résolu] Collision d'un draw_rectangle. Empty
MessageSujet: Re: [Résolu] Collision d'un draw_rectangle.   [Résolu] Collision d'un draw_rectangle. EmptyMar 11 Oct 2011 - 14:15

Ben tu fait une collision avec un draw non ? Donc ton objet a pas de masque j'imagine.

_________________
[Résolu] Collision d'un draw_rectangle. Runningpotato1[Résolu] Collision d'un draw_rectangle. TvF6GED [Résolu] Collision d'un draw_rectangle. MdetltS
Revenir en haut Aller en bas
Caly
Utilisateur confirmé: Rang ****
Caly


Messages : 1285
Localisation : Haute Normandie
Projet Actuel : Capturer, apprivoiser et dresser des Pokémons sauvages pour faire des spectacles de rue et en faire mon métier.

[Résolu] Collision d'un draw_rectangle. Empty
MessageSujet: Re: [Résolu] Collision d'un draw_rectangle.   [Résolu] Collision d'un draw_rectangle. EmptyMar 11 Oct 2011 - 14:32

Non il n'as pas de masque vus qu'il ne sert qu'a dessiner un draw_rectangle et à créer un objet à partir de ce rectangle.

Code:
if(mouse_check_button_pressed(mb_left)){
    x1=mouse_x;
    y1=mouse_y;
    create = true;
}

if( create==true){
   
    if(collision_rectangle(x1,y1,mouse_x,mouse_y,obj_sol,1,1) )
        draw_set_color(c_red);
    else
        draw_set_color(c_white);
    draw_rectangle(x1,y1,mouse_x,mouse_y,true);
}

Ce code fonctionne parfaitement.
Mon rectangle devient rouge s'il est en contact avec n'importe qu'elle objet de parenté avec obj_sol.

Cependant les deux derniers arguments de "collision_rectangle" je ne sais pas ce que c'est.
Citation :
collision_rectangle(x1,y1,x2,y2,obj,prec,notme) Cette fonction teste s'il existe une collision entre le rectangle (plein) de coins opposés indiqués et les entités de l'objet obj. Par exemple, vous pouvez utiliser cette fonction pour tester si une zone est sans obstacles.

Note: même si le outline du draw_rectangle est en true ça fonctionne également.
Revenir en haut Aller en bas
D-z
Utilisateur confirmé: Rang *****
D-z


Messages : 1611
Localisation : Montpellier

[Résolu] Collision d'un draw_rectangle. Empty
MessageSujet: Re: [Résolu] Collision d'un draw_rectangle.   [Résolu] Collision d'un draw_rectangle. EmptyMar 11 Oct 2011 - 18:50

Logique, puisque tes fonctions d'affichage et de détection sont totalement indépendantes.

Sinon :
- prec : utiliser oui ou non le pixel-perfect des objets testés (sinon on utilise leur bounding box)
- notme : empêcher ou non l'objet qui lance la fonction de s'autodétecter.

_________________
 
Home is not a place, it's a feeling.
Revenir en haut Aller en bas
Contenu sponsorisé





[Résolu] Collision d'un draw_rectangle. Empty
MessageSujet: Re: [Résolu] Collision d'un draw_rectangle.   [Résolu] Collision d'un draw_rectangle. Empty

Revenir en haut Aller en bas
 
[Résolu] Collision d'un draw_rectangle.
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [Résolu] Collision en GML
» [Résolu]Probleme de collision
» Problème de collision [Résolu]
» Collision Instatanée *Resolu*
» [RÉSOLU] collision_line() return the POS of the collision.

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum Le CBNA :: Développement :: Entraide débutants-
Sauter vers: