| | [script] draw_eye | |
|
+6bibi675 Chulien M@d_Doc CoDeAVE nicoulas onilink_ 10 participants | Auteur | Message |
---|
onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: [script] draw_eye Dim 17 Jan 2010 - 21:00 | |
| Voici un petit script qui affiche une jolie pupille style manga. Testez c'est super joli ^^. Bon c'est la première fois que j'utilise les primitive donc j'espere que c'est pas trop le cafouilli sinon dite le moi que j'ameliore... moi mon truc d'habitude c'est plutot les trucs matheux et logiques, vous etes au courant... edit du modo masqué Voilà une image de preview : - Spoiler:
Un autre screen- Spoiler:
Fichier d'exemplehttp://host-a.net/onilink_/eye.gm6Allez le voici a utiliser dans draw : - Spoiler:
draw_eye(x,y,r,col1,col2,iris) - Code:
-
//draw_eye(x,y,r,col1,col2,iris) var X, Y, r, col1, col2, rad, i, lx, ly; X = argument0 Y = argument1 r = argument2 col1 = argument3 col2 = argument4
draw_set_blend_mode(bm_normal) draw_set_color(col1) draw_circle(X,Y,r,0)
for(i=0 ; i<=360+5 ; i+=5) { lx[i] = lengthdir_x(r, i) ly[i] = lengthdir_y(r, i) }
draw_primitive_begin(pr_trianglefan) for(i=0 ; i<360 ; i+=5) { draw_vertex_color(X, Y, col2, 1) draw_vertex_color(X + lx[i] , Y + ly[i] , col2 , 0.4) draw_vertex_color(X + lx[i+5], Y + ly[i+5], col2 , 0.4) } draw_primitive_end()
if(argument5 == true) { draw_primitive_begin(pr_trianglelist) for(i=0 ; i<360 ; i+=5) { draw_vertex_color(X + lx[i]/2, Y + ly[i]/2, 0 , 0) draw_vertex_color(X + lx[i] , Y + ly[i] , 0 , 1) draw_vertex_color(X + lx[i+5], Y + ly[i+5], 0 , 1) } draw_primitive_end() }
draw_primitive_begin(pr_trianglefan) for(i=0 ; i<360 ; i+=5) { draw_vertex_color(X, Y, col2, 0.8) draw_vertex_color(X + lx[i] , Y + ly[i] , col1 , 0.4) draw_vertex_color(X + lx[i+5], Y + ly[i+5], col1 , 0.4) } draw_primitive_end()
draw_primitive_begin(pr_trianglestrip) for(i=0 ; i<=360 ; i+=5) { draw_vertex_color(X + lx[i] , Y + ly[i] , 0 , 1) draw_vertex_color(X + lx[i+5]*0.85 , Y + ly[i+5]*0.85 ,0 , 0.1) } draw_primitive_end()
draw_circle_color(X, Y, r*0.26, 0, 0, 0) draw_primitive_begin(pr_trianglestrip) for(i=0 ; i<=360 ; i+=5) { draw_vertex_color(X + lx[i]/4, Y + ly[i]/4 , 0 , 1) draw_vertex_color(X + lx[i+5]*0.3 , Y + ly[i+5]*0.3 ,0 , 0) } draw_primitive_end()
draw_primitive_begin(pr_trianglestrip) for(i=0 ; i<=360 ; i+=5) { draw_vertex_color(X + lx[i] , Y + ly[i] , 0 , 1) draw_vertex_color(X + lx[i+5]*1.1 , Y + ly[i+5]*1.1 ,0 , 0) } draw_primitive_end()
draw_set_blend_mode(bm_add) draw_primitive_begin(pr_trianglestrip) for(i=0 ; i<=360 ; i+=5) { draw_vertex_color(X + r*.45 + lx[i]*0.15 , Y - r*.45 + ly[i]*0.15 , c_white, 1) draw_vertex_color(X + r*.45 + lx[i+5]*0.2, Y - r*.45 + ly[i+5]*0.2, c_white, 0.1) } draw_circle_color(X + r*0.45, Y - r*0.45, r*0.16, c_white, c_white, 0) draw_primitive_end()
Un plus style manga : draw_eye2 - Spoiler:
- Code:
-
//draw_eye(x,y,r,col1,col2,iris) var X,Y,r,col1,col2,rad,i; X = argument0 Y = argument1 r = argument2 col1 = argument3 col2 = argument4
draw_set_blend_mode(bm_normal) draw_set_color(col1) draw_circle(X,Y,r,0)
draw_primitive_begin(pr_trianglefan) for(i=0 ; i<360 ; i+=5) { draw_vertex_color(X,Y,col2,1) draw_vertex_color(X + lengthdir_x(r,i) , Y + lengthdir_y(r,i) , col2 , 0.4) draw_vertex_color(X + lengthdir_x(r,i+5), Y + lengthdir_y(r,i+5), col2 , 0.4) } draw_primitive_end()
if argument5{ draw_primitive_begin(pr_trianglelist) for(i=0 ; i<360 ; i+=5) { draw_vertex_color(X + lengthdir_x(r/2,i), Y + lengthdir_y(r/2,i), 0 , 0) draw_vertex_color(X + lengthdir_x(r,i) , Y + lengthdir_y(r,i) , 0 , 1) draw_vertex_color(X + lengthdir_x(r,i+5), Y + lengthdir_y(r,i+5), 0 , 1) } draw_primitive_end() }
draw_primitive_begin(pr_trianglefan) for(i=0 ; i<360 ; i+=5) { draw_vertex_color(X,Y,col2,0.8) draw_vertex_color(X + lengthdir_x(r,i) , Y + lengthdir_y(r,i) , col1 , 0.4) draw_vertex_color(X + lengthdir_x(r,i+5), Y + lengthdir_y(r,i+5), col1 , 0.4) } draw_primitive_end()
draw_primitive_begin(pr_trianglestrip) for(i=0 ; i<=360 ; i+=5) { draw_vertex_color(X + lengthdir_x(r*0.98,i) , Y + lengthdir_y(r*0.98,i) , 0 , 1) draw_vertex_color(X + lengthdir_x(r*0.88,i+5) , Y + lengthdir_y(r*0.88,i+5) ,0 , 0.1) } draw_primitive_end()
draw_primitive_begin(pr_trianglestrip) for(i=0 ; i<=360 ; i+=5) { draw_vertex_color(X + lengthdir_x(r*.4,i) , Y - lengthdir_y(r*.5,i) , 0 , 1) draw_vertex_color(X + lengthdir_x(r*.45,i+5) , Y - lengthdir_y(r*.5,i+5) ,0 , 0) } draw_primitive_end()
draw_primitive_begin(pr_trianglestrip) for(i=0 ; i<=360 ; i+=5) { draw_vertex_color(X , Y , 0 , 1) draw_vertex_color(X + lengthdir_x(r*.4,i+5) , Y - lengthdir_y(r*.5,i+5) ,0 , 1) } draw_primitive_end()
draw_primitive_begin(pr_trianglestrip) for(i=-45 ; i<=180+45 ; i+=5) { draw_vertex_color(X + lengthdir_x(r,i) , Y + lengthdir_y(r,i),0,1) draw_vertex_color(X + lengthdir_x(r*.9,i), Y+r*.35 +lengthdir_y(r*.5,i),0,1) } draw_primitive_end()
draw_primitive_begin(pr_trianglestrip) for(i=-45 ; i<=180+45 ; i+=5) { draw_vertex_color(X + lengthdir_x(r,i) , Y + lengthdir_y(r,i),0,1) draw_vertex_color(X + lengthdir_x(r*.9,i) , Y+r*.4 + lengthdir_y(r*0.5,i) ,0,.7) } draw_primitive_end()
draw_primitive_begin(pr_trianglestrip) for(i=0 ; i<=360 ; i+=5) { draw_vertex_color(X + lengthdir_x(r*0.98,i) , Y + lengthdir_y(r*0.98,i) , 0 , 1) draw_vertex_color(X + lengthdir_x(r*1.08,i+5) , Y + lengthdir_y(r*1.08,i+5) ,0 , 0) } draw_primitive_end()
draw_set_blend_mode(bm_add) draw_primitive_begin(pr_trianglestrip) for(i=0 ; i<=360 ; i+=5) { draw_vertex_color(X - r*.6 + lengthdir_x(r*.2,i) , Y - r*.35 -lengthdir_y(r*.2,i) , c_white , 1) draw_vertex_color(X - r*.6 + lengthdir_x(r*.25,i+5) , Y - r*.35 -lengthdir_y(r*.25,i+5) ,c_white , 0.1) } draw_circle_color(X-r*.6,Y-r*.35,r*0.21,c_white,c_white,0) draw_primitive_end()
draw_primitive_begin(pr_trianglestrip) for(i=0 ; i<=360 ; i+=5) { draw_vertex_color(X + r*.7 + lengthdir_x(r*.1,i) , Y -lengthdir_y(r*.1,i) , c_white , 1) draw_vertex_color(X + r*.7 + lengthdir_x(r*.15,i+5) , Y -lengthdir_y(r*.15,i+5) ,c_white , 0.1) } draw_circle_color(X+r*.7,Y,r*0.11,c_white,c_white,0) draw_primitive_end()
Et un petit exemple pour avoir rapidement un apperçu : Draw - Code:
-
draw_eye(160,240,point_distance(x,y,mouse_x,mouse_y),c_blue,c_aqua,1) draw_eye(640-160,240,point_distance(x,y,mouse_x,mouse_y),c_red,c_yellow,1)
Voila voila dites moi ce que vous en pensez , en esperant que ça seras utile!
Dernière édition par onilink_ le Ven 7 Mai 2010 - 23:05, édité 6 fois |
| | | nicoulas *Excellent utilisateur*
Messages : 6030 Localisation : Dordogne Projet Actuel : Croustaface Tower Defense
| Sujet: Re: [script] draw_eye Dim 17 Jan 2010 - 21:13 | |
| C'est sympathoche même si ça consomme pas mal |
| | | onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: [script] draw_eye Dim 17 Jan 2010 - 21:18 | |
| J'ai fait ça vite fait donc ça manque de perf pour l'instant mais de toute façon en toute logique on l'utiliseras pour creer des sprites, pas en continu... |
| | | CoDeAVE Utilisateur confirmé: Rang **
Messages : 408 Localisation : Québec
| Sujet: Re: [script] draw_eye Dim 17 Jan 2010 - 21:58 | |
| Super |
| | | M@d_Doc Modérateur
Messages : 6600 Localisation : 47°44'8.04 Projet Actuel : aucun
| Sujet: Re: [script] draw_eye Dim 17 Jan 2010 - 22:00 | |
| screen rajouté dans le premier post.
(et très joli, au passage) _________________ Tous les icones de gm utilisables sur le cbna ICI |
| | | onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: [script] draw_eye Dim 17 Jan 2010 - 22:28 | |
| Merci au modo masqué , sinon je vais essayer de pauffiner un peu cette fonction qui me semble un peu quand même ^^ |
| | | Chulien Utilisateur confirmé: Rang *****
Messages : 2232
| Sujet: Re: [script] draw_eye Dim 17 Jan 2010 - 23:06 | |
| onilink tes vraiment un ouf de ouf à donf de donf il est trop cool celui là, pour dessiner une image bien sur c'est toi qui avais fait l'arbre en fractales c'était bien aussi
par contre c'est pas style manga ^^ |
| | | onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: [script] draw_eye Dim 17 Jan 2010 - 23:48 | |
| |
| | | nicoulas *Excellent utilisateur*
Messages : 6030 Localisation : Dordogne Projet Actuel : Croustaface Tower Defense
| Sujet: Re: [script] draw_eye Dim 17 Jan 2010 - 23:58 | |
| |
| | | bibi675 Utilisateur confirmé: Rang *****
Messages : 2456 Localisation : Oise Projet Actuel : Jeu par navigateur original
| Sujet: Re: [script] draw_eye Lun 18 Jan 2010 - 17:38 | |
| Ahmagad, c'est beau. _________________ |
| | | onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: [script] draw_eye Sam 20 Fév 2010 - 14:48 | |
| Infos : trigo optimisée + nouveau screen + fichier d'exemple |
| | | marty Utilisateur confirmé: Rang ***
Messages : 697 Projet Actuel : laby-ereinte !
| Sujet: Re: [script] draw_eye Dim 21 Mar 2010 - 14:11 | |
| salut j'aime bien ce que tu fait sur ce forum comme beaucoup ,j'ai eu une erreur dans l'execution du script draw_eye 2 line 77 rad variable inconnue?? (je suis gm 8 ) sinon c'est superbe! |
| | | SPLN Utilisateur confirmé: Rang ***
Messages : 588 Localisation : Sur son ordinateur *vous vois* arrêtez de me regarder comme ça Projet Actuel : En quête de projet(s)!
Mes projets:
SP Lecteur Multimedia (Stand by)
S-Portable Graphics (demo1.8 is out! demo2.0 is planned)
SSB RPG (Stand by)
| Sujet: Re: [script] draw_eye Dim 21 Mar 2010 - 14:21 | |
| Il a raison - Citation :
- Citation :
- Un plus style manga :
draw_eye2
- Spoiler:
[quote = "CODE"] //draw_eye(x,y,r,col1,col2,iris) var X,Y,r,col1,col2, rad,i; X = argument0 Y = argument1 r = argument2 col1 = argument3 col2 = argument4 draw_set_blend_mode(bm_normal) draw_set_color(col1) draw_circle(X,Y,r,0) draw_primitive_begin(pr_trianglefan) for(i=0 ; i<360 ; i+=5) { draw_vertex_color(X,Y,col2,1) draw_vertex_color(X + lengthdir_x(r,i) , Y + lengthdir_y(r,i) , col2 , 0.4) draw_vertex_color(X + lengthdir_x(r,i+5), Y + lengthdir_y(r,i+5), col2 , 0.4) } draw_primitive_end() if argument5{ draw_primitive_begin(pr_trianglelist) for(i=0 ; i<360 ; i+=5) { draw_vertex_color(X + lengthdir_x(r/2,i), Y + lengthdir_y(r/2,i), 0 , 0) draw_vertex_color(X + lengthdir_x(r,i) , Y + lengthdir_y(r,i) , 0 , 1) draw_vertex_color(X + lengthdir_x(r,i+5), Y + lengthdir_y(r,i+5), 0 , 1) } draw_primitive_end() } draw_primitive_begin(pr_trianglefan) for(i=0 ; i<360 ; i+=5) { draw_vertex_color(X,Y,col2,0. draw_vertex_color(X + lengthdir_x(r,i) , Y + lengthdir_y(r,i) , col1 , 0.4) draw_vertex_color(X + lengthdir_x(r,i+5), Y + lengthdir_y(r,i+5), col1 , 0.4) } draw_primitive_end() draw_primitive_begin(pr_trianglestrip) for(i=0 ; i<=360 ; i+=5) { draw_vertex_color(X + lengthdir_x(r,i) , Y + lengthdir_y(r,i) , 0 , 1) draw_vertex_color(X + lengthdir_x(r*0.85,i+5) , Y + lengthdir_y(r*0.85,i+5) ,0 , 0.1) } draw_primitive_end() draw_primitive_begin(pr_trianglestrip) for(i=0 ; i<=360 ; i+=5) { draw_vertex_color(X + lengthdir_x(r*.4,i) , Y - lengthdir_y(r*.5,i) , 0 , 1) draw_vertex_color(X + lengthdir_x(r*.45,i+5) , Y - lengthdir_y(r*.5,i+5) ,0 , 0) } draw_primitive_end() draw_primitive_begin(pr_trianglestrip) for(i=0 ; i<=360 ; i+=5) { draw_vertex_color(X , Y , 0 , 1) draw_vertex_color(X + lengthdir_x(r*.4,i+5) , Y - lengthdir_y(r*.5,i+5) ,0 , 1) } draw_primitive_end() draw_primitive_begin(pr_trianglestrip) for(i=-45 ; i<=180+45 ; i+=5) { draw_vertex_color(X + lengthdir_x(r,i) , Y + lengthdir_y(r,i),0,1) draw_vertex_color(X + lengthdir_x(r*.9,i), Y+r*.35 +lengthdir_y(r*.5,i),0,1) } draw_primitive_end() draw_primitive_begin(pr_trianglestrip) for(i=-45 ; i<=180+45 ; i+=5) { draw_vertex_color(X + lengthdir_x(r,i) , Y + lengthdir_y(r,i),0,1) draw_vertex_color(X + lengthdir_x(r*.9,i) , Y+r*.4 - sin(i* rad)*r*.5,0,.7) } draw_primitive_end() draw_primitive_begin(pr_trianglestrip) for(i=0 ; i<=360 ; i+=5) { draw_vertex_color(X + lengthdir_x(r,i) , Y + lengthdir_y(r,i) , 0 , 1) draw_vertex_color(X + lengthdir_x(r*1.1,i+5) , Y + lengthdir_y(r*1.1,i+5) ,0 , 0) } draw_primitive_end() draw_set_blend_mode(bm_add) draw_primitive_begin(pr_trianglestrip) for(i=0 ; i<=360 ; i+=5) { draw_vertex_color(X - r*.6 + lengthdir_x(r*.2,i) , Y - r*.35 -lengthdir_y(r*.2,i) , c_white , 1) draw_vertex_color(X - r*.6 + lengthdir_x(r*.25,i+5) , Y - r*.35 -lengthdir_y(r*.25,i+5) ,c_white , 0.1) } draw_circle_color(X-r*.6,Y-r*.35,r*0.21,c_white,c_white,0) draw_primitive_end() draw_primitive_begin(pr_trianglestrip) for(i=0 ; i<=360 ; i+=5) { draw_vertex_color(X + r*.7 + lengthdir_x(r*.1,i) , Y -lengthdir_y(r*.1,i) , c_white , 1) draw_vertex_color(X + r*.7 + lengthdir_x(r*.15,i+5) , Y -lengthdir_y(r*.15,i+5) ,c_white , 0.1) } draw_circle_color(X+r*.7,Y,r*0.11,c_white,c_white,0) draw_primitive_end()
Et un petit exemple pour avoir rapidement un apperçu : Draw - Code:
-
draw_eye(160,240,point_distance(x,y,mouse_x,mouse_y),c_blue,c_aqua,1) draw_eye(640-160,240,point_distance(x,y,mouse_x,mouse_y),c_red,c_yellow,1)
Voila voila dites moi ce que vous en pensez , en esperant que ça seras utile! |
| | | Topaze22 *Excellent utilisateur*
Messages : 6213 Localisation : Sur la Lune Projet Actuel : Projet HELLO/TOPAZE22 Mario Bros World
| Sujet: Re: [script] draw_eye Lun 22 Mar 2010 - 18:56 | |
| Onilink : Amoureux des maths _________________ Topique pour le Projet Hello Mario en préparation. Sorti du topique lorsque la première démo sera disponible.
|
| | | onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: [script] draw_eye Lun 22 Mar 2010 - 19:00 | |
| non en fait c'est les maths qui m'aiment xp Sinon pour l'erreur je vais essayer de chercher d'ou ça viens par contre j'ai pas gm8 pro donc ça va être chaud |
| | | onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: [script] draw_eye Lun 22 Mar 2010 - 19:15 | |
| Erreur réglé, fichier reuploadé Encore merci pour les info, je vous ferais d'autres trucs chouettes quand je serais inspiré a moins que certains aient des idées :lng: |
| | | Wargamer *Excellent utilisateur*
Messages : 6938 Projet Actuel : Bataille de cake au fruits
| Sujet: Re: [script] draw_eye Lun 22 Mar 2010 - 21:28 | |
| Boobs Bouncing Technology _________________ Règle #1 du CBNA, ne pas chercher à faire dans la subtilité; personne comprend |
| | | Topaze22 *Excellent utilisateur*
Messages : 6213 Localisation : Sur la Lune Projet Actuel : Projet HELLO/TOPAZE22 Mario Bros World
| Sujet: Re: [script] draw_eye Mar 23 Mar 2010 - 22:16 | |
| En tout cas, ces yeux sont bien joli ^^ _________________ Topique pour le Projet Hello Mario en préparation. Sorti du topique lorsque la première démo sera disponible.
|
| | | bibi675 Utilisateur confirmé: Rang *****
Messages : 2456 Localisation : Oise Projet Actuel : Jeu par navigateur original
| Sujet: Re: [script] draw_eye Mer 24 Mar 2010 - 16:51 | |
| Oui c'est sûr mais pas super légers en perfs, je tourne à 155 fps chez moi, c'est assez bas. _________________ |
| | | nicoulas *Excellent utilisateur*
Messages : 6030 Localisation : Dordogne Projet Actuel : Croustaface Tower Defense
| Sujet: Re: [script] draw_eye Mer 24 Mar 2010 - 17:22 | |
| Le but est pas forcément de les dessiner à chaque step, ça peut servir par exemple à créer des sprites à la volée. |
| | | Contenu sponsorisé
| Sujet: Re: [script] draw_eye | |
| |
| | | | [script] draw_eye | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |