AccueilAccueil  FAQFAQ  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
Le deal à ne pas rater :
Cartes Pokémon 151 : où trouver le coffret Collection Alakazam-ex ?
Voir le deal

 

 Script qui renvoit le premier point d'une collision

Aller en bas 
3 participants
AuteurMessage
Blizter
Banni(e)



Messages : 2002

Script qui renvoit le premier point d'une collision Empty
MessageSujet: Script qui renvoit le premier point d'une collision   Script qui renvoit le premier point d'une collision EmptyVen 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 :
Script qui renvoit le premier point d'une collision Drawzj5
Revenir en haut Aller en bas
Blizter
Banni(e)



Messages : 2002

Script qui renvoit le premier point d'une collision Empty
MessageSujet: Re: Script qui renvoit le premier point d'une collision   Script qui renvoit le premier point d'une collision EmptyVen 2 Fév 2007 - 18:00

Voici un example : http://www.zshare.net/download/linetocollide-gm6.html

On 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:
Revenir en haut Aller en bas
master47
Utilisateur confirmé: Rang *****
master47


Messages : 2368
Projet Actuel :
-------------------
> PacWars
> The Perfect Pattern Studio

Script qui renvoit le premier point d'une collision Empty
MessageSujet: Re: Script qui renvoit le premier point d'une collision   Script qui renvoit le premier point d'une collision EmptyVen 2 Fév 2007 - 19:03

super interressant pour faire un moteur physique

_________________
Suivez la timeline ! The PacWars Timeline
C# .NET, Web & Sound Design.
---
Oldies: http://livegallery.lescigales.org/
Lawl :
Spoiler:
Revenir en haut Aller en bas
http://theperfectpattern.tumblr.com
Topaze22
*Excellent utilisateur*
Topaze22


Messages : 6213
Localisation : Sur la Lune
Projet Actuel : Projet HELLO/TOPAZE22 Mario Bros World

Script qui renvoit le premier point d'une collision Empty
MessageSujet: Re: Script qui renvoit le premier point d'une collision   Script qui renvoit le premier point d'une collision EmptyDim 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 super

_________________
Topique pour le Projet Hello Mario en préparation.
Sorti du topique lorsque la première démo sera disponible.
Script qui renvoit le premier point d'une collision Projet13
Revenir en haut Aller en bas
Blizter
Banni(e)



Messages : 2002

Script qui renvoit le premier point d'une collision Empty
MessageSujet: Re: Script qui renvoit le premier point d'une collision   Script qui renvoit le premier point d'une collision EmptyDim 4 Fév 2007 - 21:52

Content que ça interresse quelqu'un :oui:
Revenir en haut Aller en bas
Contenu sponsorisé





Script qui renvoit le premier point d'une collision Empty
MessageSujet: Re: Script qui renvoit le premier point d'une collision   Script qui renvoit le premier point d'une collision Empty

Revenir en haut Aller en bas
 
Script qui renvoit le premier point d'une collision
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Choisir les touches du jeu (mon premier script soyez simpas)
» Script collision entre deux lignes
» Collision entre un point et un rectangle incliné
» Script pour savoir si un nombre est premier ou pas
» [script] => Trajectoire Circulaire autour d'un point

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