[Aide] Modification de couleur.

Répondre
Partager Rechercher
Bonsoir a tous, je voulais faire un script qui aurait modifer la couleur d'un logo qui serait sur une prim, mais je n'arrives pas a faire marche le script, voila l'ébauche de mon script, pas de soucis a la compilation mais pas d'effet ingame
Code:
integer i;
vector color=<1.0,1.0,1.0>;
float tagada;
default
{
    state_entry()
    {
        tagada = 1/255;
    do
        {
            i=1;
            for(; i < 256; ++i)
            {llSetPrimitiveParams([PRIM_COLOR, ALL_SIDES, color, 1.0]);color+=<-1*tagada,0.0,0.0>;llSleep(0.1);}
                        i=1;
            for(; i < 256; ++i)
            {llSetPrimitiveParams([PRIM_COLOR, ALL_SIDES, color, 1.0]);color+=<0.0,-1*tagada,0.0>;llSleep(0.1);}
                        i=1;
            for(; i < 256; ++i)
            {llSetPrimitiveParams([PRIM_COLOR, ALL_SIDES, color, 1.0]);color+=<0.0,0.0,-1*tagada>;llSleep(0.1);}
            i=1;
            for(; i < 256; ++i)
            {llSetPrimitiveParams([PRIM_COLOR, ALL_SIDES, color, 1.0]);color+=<tagada,0.0,0.0>;llSleep(0.1);}
                        i=1;
            for(; i < 256; ++i)
            {llSetPrimitiveParams([PRIM_COLOR, ALL_SIDES, color, 1.0]);color+=<0.0,tagada,0.0>;llSleep(0.1);}
                        i=1;
            for(; i < 256; ++i)
            {llSetPrimitiveParams([PRIM_COLOR, ALL_SIDES, color, 1.0]);color+=<0.0,0.0,tagada>;llSleep(0.1);}
        }
    while(1);
    }
}
- A quoi sert le do...while(1) ?
- pourquoi tu n'initialises pas ta variable dans les boucles for ?
- pour incrémenter, c'est i++ et pas ++i
J'ai mis un peu de l'ordre dans ton script. N'utilise pas la fonction llSetPrimitiveParams (qui impose un délai de 0,2 secondes) lorsque tu peux utiliser une fonction plus légère qui n'impose aucun délai. Méfie toi aussi de la différence entre integer et float. Lorsque tu écris :

1/255

Tout ça est considéré comme des integer et le résultat est zéro.

D'autre part évite la répétition de code, il vaut mieux créer une fonction dans ce cas.

Code PHP:

integer i;
vector color;
float tagada;
float delai .2;

changecolor(vector v)
{
    for(
1256; ++i)
    {
        
llSetColor(colorALL_SIDES);
        
color llGetColor(ALL_SIDES) + v;
        
llSleep(delai);
    }
}

default
{
    
state_entry()
    {
        
tagada 1.0 255.0;
        do
        {
            
color = <1.0,1.0,1.0>;
            
changecolor(<-tagada,.0,.0>);
            
changecolor(<.0,-tagada,.0>);
            
changecolor(<.0,.0,-tagada>);
            
changecolor(<tagada,.0,.0>);
            
changecolor(<.0,tagada,.0>);
            
changecolor(<.0,.0,tagada>);            
        }
        while(
TRUE);
    }

Citation :
Publié par Nibb
- pour incrémenter, c'est i++ et pas ++i
Avant mono il était plus efficace d'utiliser ++i (6 octets et deux instructions en moins), ça ne semble plus être le cas avec mono.
Moi je suis certaine que les scripteurs sont des extras terrestres qui ont au moins deux cerveaux...
J'ai beau essayer de manipuler le lsl... je n'y comprends rien de rien !

J'ai voulu faire une simple carte de vœux qui s'ouvre avec un clic, j'ai lu et relu le tuto de bestmomo... mais rien à faire.

Je suis imperméable à ce genre de choses...
Blonde power ?
Citation :
Publié par Lundrah

...

Heureusement il y a bien des choses plus importantes et utiles dans la vie que de savoir aligner du code abscons pour faire émerger un fonctionnement spécifique. En même temps il faut bien que quelqu'un le fasse sinon tes cartes de voeux demeureraient sinistrement immobiles. Il faut aussi un sens esthétique et du savoir faire pour que la carte en question illumine le regard de leurs destinataires. Il faut aussi aimer déposer des clins d'œil amicaux ou amoureux en souriant à la pensée de celui ou celle qui les découvrira. En définitive on a pas besoin de deux cerveaux, mais aussi de bien autre chose.

Cela dit le codage exige une forme de pensée particulière composée d'analyse et de synthèse et de beaucoup de patience. Ce qui n'est pas forcément une sinécure pour tout un chacun. Ceci dit merci de ton passage en ces lieux de froides gesticulations programmatiques.
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés