Main Menu

rayos

Started by SplinterGU, October 12, 2011, 04:47:00 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

SplinterGU

no recuerdo quien dijo que queria hacer unos rayos o algo asi... bueno, aca pongo un codigo que hice hace un tiempo, que con algunas modificaciones puede servir.


import "mod_map";
import "mod_draw";
import "mod_video";
import "mod_key";
import "mod_screen";
import "mod_math";
import "mod_rand";
import "mod_grproc";
import "mod_proc";
import "mod_mouse";


process lightning(graph,x,y,angle,depth,_alpha)
private
    childs = 0;
    angle0;
begin
    angle0 = angle + rand(-60000,60000);
    while( !region_out( id, 0 ))
        angle = near_angle(angle, angle0 + rand(-45000,45000), 15000);
        advance(2);
        put_pixel(x  ,y  ,rgba(230,230,255,_alpha));
        put_pixel(x+1,y-1,rgba(170,170,255,_alpha*0.75));
        put_pixel(x+1,y  ,rgba(170,170,255,_alpha*0.75));
        put_pixel(x+1,y+1,rgba(170,170,255,_alpha*0.75));
        put_pixel(x-1,y-1,rgba(170,170,255,_alpha*0.75));
        put_pixel(x-1,y  ,rgba(170,170,255,_alpha*0.75));
        put_pixel(x-1,y+1,rgba(170,170,255,_alpha*0.75));
        put_pixel(x  ,y-1,rgba(170,170,255,_alpha*0.75));
        put_pixel(x  ,y+1,rgba(170,170,255,_alpha*0.75));
        if ( depth < 2 && childs < 2 && rand(0,100) == 50)
            lightning(graph,x,y,angle,depth+1,_alpha);
            childs++;
        end
        if ( _alpha > 32 ) _alpha -= rand(0,1); end
    end

end

private
    i;
    angle0;
begin

    set_mode( 640, 480, 32 );

    x = 320;
    y = 240;

    graph=new_map(1,1,32);
    map_clear(0,graph,0);

    while(!key(_ESC))
        for ( i = 0; i < rand(0,5); i++ )
            lightning(graph,320,240,rand(0,360000),0,rand(32,255));
        end

        while( exists(type lightning)); frame; end

        frame;

        map_clear(0,0,0);

    end

end

Download Lastest BennuGD Release: http://www.bennugd.org/node/2

l1nk3rn3l


Fede

Yo digo más...

¡Karma! :)
Si quieres ser sabio, aprende a interrogar razonablemente, a escuchar con atención, a responder serenamente y a callar cuando no tengas nada que decir.

Outlaw

Está muy copado! Karma!
"Life is cheap when the bounty is high"

KeoH

Esta muy wapo el efecto xDD. Creo q fuí yo el que dijo lo de los rayos xDD Igual me sirve el efecto xD Karma

Futu-block

habrá que echarle un vistaso...