AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  Connexion  

Partagez | 
 

 Script pour dessiner un cercle texturé [MAJ des scripts]

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Invité
Invité



MessageSujet: Script pour dessiner un cercle texturé [MAJ des scripts]   Mer 24 Nov 2010 - 23:12

Tout est dans le titre, c'est juste un truc que j'avais envie de faire, très facile à programmer. Smile

Code:
//draw_circle_textured(x,y,radius,tex,steps,kaleidoscopic)
var xx,yy,rad,tex,stp,kal,i,vx,vy,tx,ty;

xx=argument0
yy=argument1
rad=argument2
tex=argument3
stp=min(max(3,argument4),48)
kal=argument5

draw_primitive_begin_texture(pr_trianglefan,tex)
if (kal=1) then
{
draw_vertex_texture(xx,yy,.5,1)
for (i=360/stp; i<=360; i+=360/stp)
{
vx=lengthdir_x(rad,i-(360/stp))
vy=lengthdir_y(rad,i-(360/stp))
draw_vertex_texture(xx+vx,yy+vy,0,0)

vx=lengthdir_x(rad,i)
vy=lengthdir_y(rad,i)
draw_vertex_texture(xx+vx,yy+vy,1,0)
}
}
else
{
for (i=0; i<360; i+=360/stp)
{
vx=lengthdir_x(rad,i)
vy=lengthdir_y(rad,i)
tx=((rad/2)-lengthdir_x(rad/2,i))/rad
ty=((rad/2)-lengthdir_y(rad/2,i))/rad
draw_vertex_texture(xx+vx,yy+vy,1-tx,1-ty)
}
}
draw_primitive_end()
Code:

//version optimisée par oni_link
//draw_circle_textured(x,y,radius,tex,steps,kaleidoscopic)
var stp,i,aa,lx, ly;
stp=min(max(3,argument4),48)
aa = 360/stp
draw_primitive_begin_texture(pr_trianglefan,argument3)
if (argument5==1) {
draw_vertex_texture(argument0, argument1, 0.5, 1)
for(i=0 ; i<=360 ; i+=360/stp)
draw_vertex_texture(argument0 + lengthdir_x(argument2, i), argument1 + lengthdir_y(argument2, i), (i/aa) mod 2, 0)
}
else {
draw_vertex_texture(argument0, argument1, 0.5, 0.5)
for(i=0 ; i<=360 ; i+=360/stp) {
lx = lengthdir_x(1, i) ly = lengthdir_y(1, i)
draw_vertex_texture(argument0 + lx*argument2, argument1 + ly*argument2, 0.5+lx/2, 0.5+ly/2 )
}
}
draw_primitive_end()

Version *_color
Code:
//draw_circle_textured_color(x,y,radius,c1,c2,tex,steps,kaleidoscopic)
var xx,yy,rad,tex,c1,c2,stp,kal,i,vx,vy,tx,ty;

xx=argument0
yy=argument1
rad=argument2
c1=argument3
c2=argument4
tex=argument5
stp=min(max(3,argument6),48)
kal=argument7

draw_primitive_begin_texture(pr_trianglefan,tex)
if (kal=1) then
{
draw_vertex_texture_color(xx,yy,.5,1,c1,1)
for (i=360/stp; i<=360; i+=360/stp)
{
vx=lengthdir_x(rad,i-(360/stp))
vy=lengthdir_y(rad,i-(360/stp))
draw_vertex_texture_color(xx+vx,yy+vy,0,0,c2,1)
vx=lengthdir_x(rad,i)
vy=lengthdir_y(rad,i)
draw_vertex_texture_color(xx+vx,yy+vy,1,0,c2,1)
}
}

else

{
draw_vertex_texture_color(xx,yy,.5,.5,c1,1)
for (i=0; i<=360; i+=360/stp)
{
vx=lengthdir_x(rad,i)
vy=lengthdir_y(rad,i)
tx=((rad/2)-lengthdir_x(rad/2,i))/rad
ty=((rad/2)-lengthdir_y(rad/2,i))/rad
draw_vertex_texture_color(xx+vx,yy+vy,1-tx,1-ty,c2,1)
}
}
draw_primitive_end()


Effet "kaléidoscopique", avec ou sans :


Dernière édition par shm3A012B42FE3 le Ven 17 Déc 2010 - 19:29, édité 6 fois
Revenir en haut Aller en bas
Wargamer
*Excellent utilisateur*
avatar

Messages : 6936
Projet Actuel : Bataille de cake au fruits

MessageSujet: Re: Script pour dessiner un cercle texturé [MAJ des scripts]   Jeu 25 Nov 2010 - 12:27

Génial! super

_________________

Règle #1 du CBNA, ne pas chercher à faire dans la subtilité; personne comprend
Revenir en haut Aller en bas
Chulien
Utilisateur confirmé: Rang *****
avatar

Messages : 2211

MessageSujet: Re: Script pour dessiner un cercle texturé [MAJ des scripts]   Jeu 25 Nov 2010 - 13:22

tu m'épates hlm

edit: quoi que oui en fait c'est facile , même si je n'utilise pas beaucoup les textures 2d
Revenir en haut Aller en bas
http://sites.google.com/site/chuliendev
[TheDarkTiger]
Modérateur
avatar

Messages : 7377
Localisation : Essonne

MessageSujet: Re: Script pour dessiner un cercle texturé [MAJ des scripts]   Sam 27 Nov 2010 - 0:17

lawl, c'était dispo depuis ma lib draw_ext :gniah:

Mais au moins, comme ça, les gens auront accès au code facilement super

_________________
Bonne chance pour vos projets actuels ! Prêt à aider ceux qui en ont besoin ^^
l'antique http://www.membres.lycos.fr/thedarkminousite/
Bienvenue au 2530eme utilisateur : tomtom !
Revenir en haut Aller en bas
http://www.membres.lycos.fr/thedarkminousite/
onilink_
Modérateur
avatar

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

MessageSujet: Re: Script pour dessiner un cercle texturé [MAJ des scripts]   Sam 27 Nov 2010 - 9:53

les lib cay le mal

_________________
                 
Revenir en haut Aller en bas
Chulien
Utilisateur confirmé: Rang *****
avatar

Messages : 2211

MessageSujet: Re: Script pour dessiner un cercle texturé [MAJ des scripts]   Sam 27 Nov 2010 - 15:28

onilink qui milite contre le libertinage
Revenir en haut Aller en bas
http://sites.google.com/site/chuliendev
Invité
Invité



MessageSujet: Re: Script pour dessiner un cercle texturé [MAJ des scripts]   Sam 27 Nov 2010 - 17:44

Exclamation maj des scripts
si vous avez des conseils pour l'optimisation, n'hésitez pas
Revenir en haut Aller en bas
onilink_
Modérateur
avatar

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

MessageSujet: Re: Script pour dessiner un cercle texturé [MAJ des scripts]   Ven 17 Déc 2010 - 17:27

y a pas grand chose a faire pour l'opti, j'ai réussi a gagner un peu, mais surtout j'ai amélioré l'effet kaleidoscope.
Voici le résultat (avec les tests de perfs)
Download opti_disque_tex.gm6 from Host-A

_________________
                 
Revenir en haut Aller en bas
Contenu sponsorisé




MessageSujet: Re: Script pour dessiner un cercle texturé [MAJ des scripts]   

Revenir en haut Aller en bas
 
Script pour dessiner un cercle texturé [MAJ des scripts]
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Elle dessine partout!!!!!!!!
» Chaîne de Boidin Charles (BDM, 2 minutes pour dessiner ...)
» [XP]Script pour 2 joueurs sur le même jeu
» [Demande]Script pour faire un menu pause simple
» A la recherche d'un script pour afficher le nom des pnj

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