Blizter Banni(e)
Messages : 2002
| Sujet: Script qui renvoit le premier point d'une collision Ven 2 Fév 2007 - 15:25 | |
| Ce script sert a trouver d'un point 1 au point 2 jusqu'ou ira t'on avant de cogner un objet solid. C'est une fonction recursive : Utilisation : - Citation :
- lastPointCollideX(x1,y1,x2,y2,nomd'unobjetsolid);
Code de lastPointCollideX : - Citation :
if(abs(floor(argument0)-floor(argument2))<=2 && abs(floor(argument1)-floor(argument3))<=2){return argument2;} if(!collision_line(argument0,argument1,argument0+((argument2-argument0)/2),argument1+((argument3-argument1)/2),argument4,1,0)) { return lastPointCollideX(argument0+((argument2-argument0)/2),argument1+((argument3-argument1)/2),argument2,argument3,argument4); } return lastPointCollideX(argument0,argument1,argument0+((argument2-argument0)/2),argument1+((argument3-argument1)/2),argument4);
Code de lastPointCollideY : - Citation :
if(abs(floor(argument0)-floor(argument2))<=2 && abs(floor(argument1)-floor(argument3))<=2){return argument3;} if(!collision_line(argument0,argument1,argument0+((argument2-argument0)/2),argument1+((argument3-argument1)/2),argument4,1,0)) { return lastPointCollideY(argument0+((argument2-argument0)/2),argument1+((argument3-argument1)/2),argument2,argument3,argument4); } return lastPointCollideY(argument0,argument1,argument0+((argument2-argument0)/2),argument1+((argument3-argument1)/2),argument4);
Vérifier qu'il y a bien un point de collision compris dans la Line car sinon il y aura des calculs pour rien, donc : - Citation :
if(collision_line(x,y,mouse_x,mouse_y,block,1,0)) { draw_line(x,y,lastPointCollideX(x,y,mouse_x,mouse_y,block),lastPointCollideY(x,y,mouse_x,mouse_y,block)); } else { draw_line(x,y,mouse_x,mouse_y); }
Est une bonne facon de l'utilisé. description de l'algo : |
|
Blizter Banni(e)
Messages : 2002
| Sujet: Re: Script qui renvoit le premier point d'une collision Ven 2 Fév 2007 - 18:00 | |
| Voici un example : http://www.zshare.net/download/linetocollide-gm6.htmlOn voit sur l'indicateur de nombre de seconde qu'il faut à l'ordi pour calculer 1 frame. Le clic gauche permet de créé d'autres lignes. :pac_dr: :oui: :non: :oui: :non: :oui: :non: :oui: :pac_gh: |
|
master47 Utilisateur confirmé: Rang *****
Messages : 2368 Projet Actuel :
-------------------
> PacWars
> The Perfect Pattern Studio
| Sujet: Re: Script qui renvoit le premier point d'une collision Ven 2 Fév 2007 - 19:03 | |
| interressant pour faire un moteur physique |
|
Topaze22 *Excellent utilisateur*
Messages : 6213 Localisation : Sur la Lune Projet Actuel : Projet HELLO/TOPAZE22 Mario Bros World
| Sujet: Re: Script qui renvoit le premier point d'une collision Dim 4 Fév 2007 - 21:01 | |
| time=(current_time-time)/1000; Je connaissais le truc en "C" mais pas en GML, très intéréssant _________________ Topique pour le Projet Hello Mario en préparation. Sorti du topique lorsque la première démo sera disponible.
|
|
Blizter Banni(e)
Messages : 2002
| Sujet: Re: Script qui renvoit le premier point d'une collision Dim 4 Fév 2007 - 21:52 | |
| Content que ça interresse quelqu'un :oui: |
|
Contenu sponsorisé
| Sujet: Re: Script qui renvoit le premier point d'une collision | |
| |
|