Autor Tema: Experience Bennu  (Leído 3307 veces)

SplinterGU

  • Hero Member
  • *****
  • Mensajes: 12887
  • Karma: 377
Experience Bennu
« en: Octubre 19, 2008, 03:48:45 pm »
Sample and new mod_wm, with get_window_pos, get_window_size functions...

WIP14 is requiered...

changing this code

Código: [Seleccionar]
    initial_velocity_y=rand(-80,-(SCR_H-80));

for this

Código: [Seleccionar]
    initial_velocity_y=rand(-80,-(SCR_H-32));

the effects is better
« última modificación: Octubre 19, 2008, 03:54:36 pm por SplinterGU »
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

SplinterGU

  • Hero Member
  • *****
  • Mensajes: 12887
  • Karma: 377
Re: Experience Bennu
« Respuesta #1 en: Octubre 19, 2008, 11:03:08 pm »
Better effect

Código: [Seleccionar]
import "mod_rand";
import "mod_wm";
import "mod_video";
import "mod_map";
import "mod_text";
import "mod_key";
import "mod_proc";

/* --------------------------------------------------------------------------- */

#define MAX_PROC    1

#define SCR_W   640
#define SCR_H   480

GLOBAL
    count;
    int ball;
    down, lateral;
    wposx, wposy;

/* --------------------------------------------------------------------------- */

process bounce_x_window(velocity)
begin
    while (velocity)
        set_window_pos(wposx+=velocity, wposy);
        lateral += velocity;
        velocity/=2;
        frame;
    end
end

process bounce_y_window(velocity)
begin
    while (velocity)
        set_window_pos(wposx, wposy+=velocity);
        down += velocity;
        velocity/=4;
        frame;
    end
end

/* --------------------------------------------------------------------------- */
   
process ball();
private
    velocity_x;         
    velocity_y;         
    initial_velocity_y;
begin
    x=0; y=(SCR_H-32)*10;
    resolution=10; 
    velocity_x=rand(10,80);
    initial_velocity_y=rand(-80,-(SCR_H-32));
    velocity_y=initial_velocity_y;
    graph = ball;
    loop
        x=x+velocity_x;
        if (x<0 or x>SCR_W*10)
            bounce_x_window(velocity_x/2);
            velocity_x=-velocity_x;
        end
        y=y+velocity_y;
        if (-velocity_y<=initial_velocity_y)
            bounce_y_window(velocity_y/8);
            velocity_y=-velocity_y;
        else
            velocity_y=velocity_y+20;
        end
        frame; 
    end
end

/* --------------------------------------------------------------------------- */

begin

    set_mode(SCR_W,SCR_H,32,MODE_WAITVSYNC);

    ball = load_png ("soccer.png");

    write_float(0, SCR_W/2, 10, 4, &frame_time);
    write_int(0, SCR_W/2, 20, 4, &speed_gauge);
    write_int(0, SCR_W/2, 30, 4, &fps);
    write_int(0, SCR_W/2, 40, 4, &count);
    write_int(0, 30, 10, 4, &wposx);
    write_int(0, 30, 20, 4, &wposy);

    for (count=0; count < MAX_PROC; count++)
        ball();
    end

while (!key(_ESC))
    get_window_pos(&wposx, &wposy);

        if (down>0)
            set_window_pos(wposx, wposy-=8);
            down-=8;
        end
        if (lateral > 0)
            set_window_pos(wposx-=4, wposy);
            lateral-=4;
            if (lateral < 0) lateral = 0; end
        else if (lateral < 0)
                set_window_pos(wposx+=4, wposy);
                lateral+=4;
                if (lateral > 0) lateral = 0; end
            end
        end
        frame;
end
let_me_alone();

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

MythomizeR

  • Full Member
  • ***
  • Mensajes: 166
  • Karma: 3
    • Zonatube
Re: Experience Bennu
« Respuesta #2 en: Octubre 20, 2008, 12:00:58 am »
Cool sample, this is a more realistic game experience :-)

Sandman

  • Sr. Member
  • ****
  • Mensajes: 298
  • Karma: 48
Re: Experience Bennu
« Respuesta #3 en: Octubre 20, 2008, 12:08:06 am »
I like this example; good work on the window manager module. :)
-- Sandman

blostec

  • Hero Member
  • *****
  • Mensajes: 747
  • Karma: 20
Re: Experience Bennu
« Respuesta #4 en: Octubre 20, 2008, 08:44:07 am »
Incredible! Its a cool effect, let's moving windows.  ;D

Prg

  • Hero Member
  • *****
  • Mensajes: 1569
  • Karma: 140
    • Mi pagina
Re: Experience Bennu
« Respuesta #5 en: Octubre 20, 2008, 10:41:46 pm »
Wow. ¡¡¡Felicidades!!! Gran efeto para cuando los monstruos caminan o retumba la música

Y con vibración en un joystick cómo sería  :) ... Me imagino...  :o
en humos puedes mover la camara con los cursores. es necesario para los niveles a partir del dos :)