Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mensajes - fab62

61
Hola a todos  :D, tengo una duda de acuerdo con los strings, estoy intentando hacer un reconocimiento de los nombres de los sprites, lo cual, le he asignado un nombre a cada uno de acuerdo a un cierto orden, que sale al final d su nombre...

una muestra es:
spr_way_HC
spr_way_HD
spr_way_...

lo cual todos empiezan con este nombre de "spr_way_", con la unica diferencia del final, que lo asigne para demostrar una direccion distinta, diferente de las demas...

posteriormente le asigne una variable al objeto padre
mi_dir = string(sprite_get_name(sprite_index))
en donde este peque?o codigo me asigna todo el nombre del sprite que contiene el objeto, en los objetos "hijos" solo le asigne la accion de llamada del evento del objeto padre, lo cual como podria hacer un procedimiento que me identifique solo lo que viene despues de "spr_way_" para asignarlo a una variable, creo que se puede hacer, pero no se me ocurre  :-[
62
hola comunidad... tengo un a duda de como importar un sprite que sea a lo tipo strip, por ejemplo en gm8 cuando uno guarda un sprite en el editor de sprites, el archivo se crea con nombre de "sprite_stripN", en donde "sprite" es el nombre que le colocamos y "N" el numero de cuadros de la animacion... mi duda es como hacer un script que me importe las imagenes PNG en forma de strips y cree la animaci?n...
creo que debo crear variables, una que tome como valor el ancho del strip, y otra el numero de animaciones dada por "N" y hacer como que el programa dibuje una parte del sprite para mostrarlo como animacion.
63
Preguntas y respuestas / Elegir objetos con prioridad?
Noviembre 24, 2011, 02:46:36 AM
hola a todos!!! estoy haciendo un juego tipo puzzle, los bloques se crean a trav?s de un lanzador... hay distintos tipos de cajas que son lanzadas, por ahora lo estoy haciendo al azar, pero se puede elegir un bloque con prioridad... como por ejemplo, hay un bloque que es el solido, y otro que es una caja, pero lo que deseo que ocurra es que el programa lance mas el objeto solido que el objeto de la caja... no se si me explico bien, pero se pueden elegir variables con distinta prioridad? esa es mi duda, les dejo un dibujo de juego para que entiendan de que se trata  :)

el codigo que tengo es aleatorio, sin prioridad

global.tirar[1] = global.bloque[round(random(global.max_bloques))]


en donde global.tirar[] es la variable que elige que bloque se va a lanzar
global.bloque[n] es el bloque que se va a elegir
global.max_bloques es el numero total de bloques que tengo asignados al juego
64
es que si lo hago, la pelota se detiene y el jugador tambien, pero no se sobrepone la pelota encima... osea es lo mismo... es que tienen velocidades distintas.
65
es un juego al estilo breakout... pero la pelota al chocar con el jugador en las orillas se pega por unos instantes. y luego sale disparada con mucha velocidad (por el hecho de que sumo el speed), o si le elimino que se sume la velocidad cuando choca igual aparece el mismo error, la pelota se queda estancada en el jugador, y solo se mueve cuando la pelota deja de colisionarse con el jugador.

66
hola makeros. no se como arreglar el bug de que al colisionar dos objetos, uno que se mueve a tal velocidad mayor que el otro, al chocar se detienen los dos...

el codigo del choque es:


move_bounce_all(1)
sound_play(snd_players_b)
speed += 0.5


asi bien simple... al chocar va a aumentar la velocidad del objeto (en este caso es una pelota)
67
hola makeros, tengo un problema bien raro, es acerca del reemplazo de colores en un sprite, no se mucho acerca de este codigo, pero no puedo realizar cambios de colores en un intervalo de tiempo peque?o, ya que se queda detenido el juego y no resulta as?  :(. Todo esto sucedi? porque el personaje principal se recarga para disparar, y al estar mas recargado parpadea m?s, y no me resulta...

el codigo lo encontr? en gmlscripts.com:

/*
**  Usage:
**      sprite_replace_color(sprite,oldcolor,newcolor)
**
**  Arguments:
**      sprite      sprite to change
**      oldcolor    color that will be replaced
**      newcolor    color used as replacement
**
**  Returns:
**      (-1) on error
**
**  Notes:
**      This script replaces one color in a sprite with another.
**      No new sprites are created, the given sprite is changed.
**
**  GMLscripts.com
*/
{
    var sprite, oldc, newc;
    sprite = argument0;
    oldc  = argument1;
    newc  = argument2;

    var w, h, n, i, xo, yo, surf, tempsprite, newsprite, alphasprite;
    w  = sprite_get_width(sprite);
    h  = sprite_get_height(sprite);
    n  = sprite_get_number(sprite);
    xo = sprite_get_xoffset(sprite);
    yo = sprite_get_yoffset(sprite);

    surf = surface_create(w,h+1);
    surface_set_target(surf);

    for(i=0; i<n; i+=1) {
        draw_clear_alpha(c_black,1);
        draw_set_blend_mode_ext(bm_inv_dest_color,bm_one);
        draw_sprite(sprite,i,xo,yo);
        draw_set_blend_mode(bm_normal);
        draw_point_color(0,h,oldc);
        tempsprite = sprite_create_from_surface(surf,0,0,w,h+1,true,false,xo,yo);
        draw_clear_alpha(newc,1);
        draw_sprite(tempsprite,0,xo,yo);
        sprite_delete(tempsprite);
        if (i == 0) {
            newsprite = sprite_create_from_surface(surf,0,0,w,h,false,false,xo,yo);
            if (newsprite < 0) return -1;
        }else{
            sprite_add_from_surface(newsprite,surf,0,0,w,h,false,false);
        }
        draw_clear_alpha(c_white,1);
        draw_set_blend_mode_ext(bm_zero,bm_src_alpha);
        draw_sprite(sprite,i,xo,yo);
        if (i == 0) {
            alphasprite = sprite_create_from_surface(surf,0,0,w,h,false,false,xo,yo);
            if (alphasprite < 0) {
                sprite_delete(newsprite);
                return -1;
            }
        }else{
            sprite_add_from_surface(alphasprite,surf,0,0,w,h,false,false);
        }
        draw_set_blend_mode(bm_normal);
    }

    surface_reset_target();
    sprite_assign(sprite,newsprite);
    sprite_set_alpha_from_sprite(sprite,alphasprite);
    sprite_delete(newsprite);
    sprite_delete(alphasprite);
    surface_free(surf);
}


solo lo puedo usar al inicio del juego, solo para poder cambiar una sola vez, los colores del personaje, he visto en internet algunos videos en donde pueden hacer que cambie muchas veces el color sin detenerse el juego, pero no se como.
68
Preguntas y respuestas / dibujando decimales
Agosto 07, 2011, 04:25:35 AM
hola makeros, mi duda apareci? cuando quise dibujar un numero decimal de muchas cifras, he visto que en la pantalla solo se ven 2 decimales despues de la coma, asi la raiz de 2 sale como, 1,41... y se puede hacer que se vea con 20 cifras despues de la coma?

he probado con la funcion string_format(), pero se me ve solo 0.0000000000 y no sale nada mas  :( .

deje un archivo adjunto de lo que estoy haciendo.
69
Preguntas y respuestas / problema con sombras
Julio 19, 2011, 04:12:13 AM
hola makeros, pues se me present? una duda con los dibujos que se generan en el evento draw, ya que tengo a un personaje que tiene depth -2, los objetos solidos tienen un depth de 0, y no se me ocurre como hacerle una sombra al personaje que tenga un mayor depth que los objetos solidos, como se le puede asignar un depth a una imagen dibujada en el evento draw?, o no se puede hacer?,

lo habia asignado as?, y creo que estoy muy equivocado!

sombra = draw_sprite_ext(...)
sombra.depth = 1

pero creo que estoy muy errado, porque no pasa absolutamente nada XD, solo quiero saber una forma de hacerle una sombra a mi personaje, si se puede hacer, talvez se haga con un surface, nose  :(.
70
muchas gracias zeit, hora si que comprendi lo que se tiene que hacer, me funcion? gracias.
71
Preguntas y respuestas / problema con valor m?ximo
Julio 15, 2011, 05:38:48 AM
hola makeros, tengo un problema que no se me ocurre como poder realizarlo, es que tengo una variable llamada "global.mi_puntaje[1,n]", y n va aumentando creando otra variable
(ej: global.mi_puntaje[1,0],global.mi_puntaje[1,1],...n veces)

cada una de estas variables guarda el mejor puntaje obtenido en una vida del personaje.

de primera siempre se crea la variable global.mi_puntaje[1,0], la cual guarda los valores del puntaje cuando el personaje pierde una vida, despues se crea la siguiente, en este caso es global.mi_puntaje[1,1], y asi sucesivamente hasta que acaben todas las vidas del personaje.

como se crean n variables, quiero tratar de compararlas y elegir cual es la que tiene mayor valor entre todas.

pero no puedo utilizar la funcion max(x1,x2,x3,...) ya que los argumentos van aumentando.

como podr?a hacerlo si el personaje puede aumentar sus vidas, y asi tambien aumentaran la cantidad de variables global.mi_puntaje[1,n], ?como se puede tratar de elegir el mejor puntaje? :-\
72
puedes hacer una variable que controle la velocidad de la ruleta,puedes ver el ejemplo que hice.
73
hola amigos de la comunidad, me ocurrio un problema con los scripts... es que quiero tratar de hacer un contador de tiempo en un script, pero no me funciona, talvez porque nose como formularlo, ahi ustedes me corrigen porque se que no se realiza de esa manera... el codigo es:


// contar_segundos(segundos)

tseg = argument0
seg  = 0

if (seg < tseg)
{seg += 1; val = 0} else {val = 1}
return(val)

lo quiero tratar de usar en el evento step pero no me funciona XD
74
pues hice un ejemplo de una animacion, solo colocando el nombre del sprite externo, pero que el sprite tenga un nombre asi:

nombre = "sprite_strip4"
para hacer una animacion de corrido XD
75
muchas gracias, ahora entiendo mejor XD