 | Forum Le CBNA Le Forum du CBNA a pour but de vous aider dans l'utilisation de GameMaker. Premier forum Francophone sous GameMaker, vous trouverez des .gmd, .gm6, .gmk, scripts, logiciels et d'autres ressources sur Le CBNA. |
| | | | Auteur | Message |
|---|
arthuro Utilisateur confirmé: Rang **

Age : 16 Inscrit le : 09 Sep 2006 Messages : 312 Localisation : http://fr.wikipedia.org/wiki/Meribel (en savoie) : ────────── : Projet Actuel : barbarian Avancement :
   (74/100)
| Sujet: afficher un eclair Lun 16 Juin - 19:19 | |
| voila un script pour simuler un eclair que je viens de faire:
| Spoiler: | | | | Code: | x_dep = argument0 y_dep = argument1 x_fin = argument2 y_fin = argument3 apply=argument4 long=argument5
x_inter=x_dep y_inter=y_dep x_inter2=x_dep y_inter2=y_dep
draw_set_color(argument6) while(point_distance(x_inter,y_inter,x_fin,y_fin)>10) { dir=point_direction(x_inter,y_inter,x_fin,y_fin) dir+=-apply+random(apply*2)
x_inter2=x_inter+lengthdir_x(long,dir) y_inter2=y_inter+lengthdir_y(long,dir)
draw_line(x_inter,y_inter,x_inter2,y_inter2) x_inter=x_inter2 y_inter=y_inter2
}
|
|
le principe est de tracé une succession de petite ligne qui sont toute relié pour en formé une grande chaque partie prend un angle + ou - aléatoire se qui fait grésillé la grande droite
pour l'utiliser on doit mettre dans draw (si vous appeler votre script draw_eclair) draw_eclair(xdebut,y_debut,x_fin,y_fin,taux_gresillement,longeur_des_petites_ligne,couleur)
exemple draw_eclair(x,y,100,100,90,4,c_yellow)
on peut aussi faire des spirale ou d'autre forme de droite en changeant dans le code: dir+=-apply+random(apply*2)
par dir+=45
par exemple.
Edit: le meme mais avec des ligne plus ou moins épaisse
| Spoiler: | | | | Code: | x_dep = argument0 y_dep = argument1 x_fin = argument2 y_fin = argument3 apply=argument4 long=argument5 largeur=argument7
x_inter=x_dep y_inter=y_dep x_inter2=x_dep y_inter2=y_dep
draw_set_color(argument6) while(point_distance(x_inter,y_inter,x_fin,y_fin)>10) { dir=point_direction(x_inter,y_inter,x_fin,y_fin) dir+=-apply+random(apply*2)
x_inter2=x_inter+lengthdir_x(long,dir) y_inter2=y_inter+lengthdir_y(long,dir)
draw_line_width(x_inter,y_inter,x_inter2,y_inter2,largeur) x_inter=x_inter2 y_inter=y_inter2
}
// le principe est de tracé une succession de petite ligne qui sont toute relié pour en formé une grande //chaque partie prend un angle + ou - aléatoire se qui fait grésillé la grande droite |
|
on rajoute juste le parametre de la largeur a la fin ex: draw_eclair_width(x,y,100,100,90,4,c_yellow,2)
IMAGE:
 bon faut imaginer le scintillement
Dernière édition par arthuro le Lun 16 Juin - 21:11, édité 4 fois |
|  | | edi9999 Utilisateur confirmé: Rang *****

Age : 16 Inscrit le : 27 Jan 2006 Messages : 2184 Localisation : partout et nulle part : ────────── : Projet Actuel : un mario rigolo et theatre flashy Avancement :
   (25/100)
| Sujet: Re: afficher un eclair Lun 16 Juin - 20:10 | |
| pas mal comme script , ca marche plutot bien
Tu devrais ajouter une option pour changer la largeur de l eclair et ajoute des screens pour qu on ait envie de tester le script _________________ I am an in the GM Quiz!
tuto gamemaker integral disponible sur mon site: http://gameplay.c.la Uploadez vos exemples, images, zip ou rar et ne faites pas attendre les personnes qui telechargent grace a Ceci |
|  | | Malax Utilisateur confirmé: Rang **

Age : 25 Inscrit le : 21 Aoû 2006 Messages : 356 Localisation : Brignoles : ────────── : Projet Actuel : Lemmings Struggle Avancement :
   (60/100)
| Sujet: Re: afficher un eclair Lun 16 Juin - 20:13 | |
| | Vous pouvez faire de beaux effets de rayons lasers comme ça, c'est vrai que l'epaisseur manque d'autant plus que la fonction est tout prête et n'attends plus qu'on l'utilise ^^ |
|  | | yano Utilisateur confirmé: Rang **

Age : 32 Inscrit le : 03 Oct 2006 Messages : 316 : ────────── : Projet Actuel : Space Pirate Avancement :
   (35/100)
| Sujet: Re: afficher un eclair Lun 14 Juil - 12:23 | |
| | Spoiler: | | | | Code: | /* Draw Lightning Script © Ben Grabau 2007 */ var x1,x2,y1,y2,split_frq,dir,dir2,xx,yy,xfat,yfat;
// Self explanatory: // Set the position for the to and from "zaps" x1=argument0 y1=argument1 x2=argument2 y2=argument3
// between 3 & 10 works best (higher number = faster, less effect) // this number is also the minimum draw distance // please, no less than 1 split_frq=argument4
// DO NOT EDIT BELOW THIS LINE... OR ELSE! lol while point_distance(x1,y1,x2,y2)>=split_frq { dir = point_direction(x1,y1,x2,y2); dir2 = dir - 45 + random(90) xx=lengthdir_x(split_frq,dir2) yy=lengthdir_y(split_frq,dir2) xfat=lengthdir_x(split_frq+1,dir2) yfat=lengthdir_y(split_frq+1,dir2)
/* LINE DRAWING */ draw_set_color($FF8000) draw_set_alpha(.4) draw_line_width(x1,y1,x1+xfat,y1+yfat,5) draw_line_width(x1,y1,x1+xfat,y1+yfat,10) draw_set_color(c_white) draw_set_alpha(.5) draw_line_width(x1,y1,x1+xx,y1+yy,3) draw_set_alpha(1) draw_line(x1,y1,x1+xx,y1+yy) /* END LINE DRAWING */
x1=x1+xx y1=y1+yy } |
Draw event:
| Code: | /* arg0=x1 arg1=y1 arg2=x2 arg3=y2 arg4=quality arg5=primitive arg6=electricity-color arg7=glow-color arg8=glow radius arg9=shakivness arg10=glow alpha */
electricity_draw(512,384,mouse_x,mouse_y,8,pr_linestrip,merge_color(c_blue,c_white,.2+random(.3)),c_blue,20,10,0.1) |
|
Le plus beau que j'ai vu, quand je vois ça, j'ai vraiment envie d'utiliser ce genre de script pour mon jeu, même s'il me semble que ça doit être plus lourd qu'un sprite non? En tous cas c'est visuellement bien plus interessant qu'un sprite même très beau.
Si vous êtes capable de faire des laser etc avec ce genre de script de particules allez-y!! Ca ferait un beau pack 
Dernière édition par yano le Lun 14 Juil - 13:24, édité 1 fois |
|  | | jo *Excellent utilisateur*

Age : 15 Inscrit le : 14 Juil 2006 Messages : 3744 Localisation : psyckho.groupie.cocain.crazy@hotmail.com : ────────── : Projet Actuel : -Massacre 2 : eXtermination- Avancement :
   (50/100)
| Sujet: Re: afficher un eclair Lun 14 Juil - 12:46 | |
| oooh tres interessant je garde ce topic en memoire, deja que j'avais essayé de faire un truc similaire (et echoué lamentablement T_T) _________________
 |
|  | | |
| Page 1 sur 1 |
| | Permission de ce forum: | Vous pouvez répondre aux sujets dans ce forum
| | |
| |
|