Venga va, por tener un avatar de Yuki me presto a ayudarte en el testeo y en lo que necesites, si quieres
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.
1
Juegos en desarrollo / Re: Battlefield Galactic (g:MOBA) Alpha 1.5.3 (MODO MULTIPLAYER FUNCIONAL)
Noviembre 20, 2011, 12:13:33 AM2
Desarrollo de Scripts / Tileset joiner
Mayo 21, 2011, 06:57:37 PM
Nombre del creador: Kirs (yo)
Versi?n de GM utilizada: :GM8: Pro
Informaci?n y utilidad: Bien explicada justo aqui abajo:
[gml]
/*************** TILESET JOINING SCRIPT *********************/
// //
// Este script sirve para crear un tileset sin separaci?n //
// entre sus tiles a partir de su correspondiente im?gen //
// con los tiles separados. //
// //
// Por 'Kirs' //
/*************************************************************/
//Argumentos: Imagen original, Offset en X, Offset en Y, separacion en X, separaci?n en Y, tama?o de tile
//Inicializar variables:
var back,width,height,xoff,yoff,xsep,ysep,tsize,sizeX,sizeY,numTX,numTY,bx,by,sx,sy,res;
back = argument0;
xoff = argument1;
yoff = argument2;
xsep = argument3;
ysep = argument4;
tsize = argument5;
bx = xoff;
by = yoff;
sx = 0;
sy = 0;
sizeX = background_get_width(back)
sizeY = background_get_height(back)
numTX = sizeX div tsize
numTX-= numTX div tsize
numTY = sizeY div tsize
numTY-= numTY div tsize
width = (numTX)* tsize;
height = (numTY)* tsize;
//Creamos la superf?cie y la asignamos como canvas
res=surface_create(width,sizeY);
surface_set_target(res);
//Primero vamos a unir la imagen horizontalmente
//Para esto cogemos rect?ngulos de 'anchura = tama?o del tile' y 'altura = altura de la imagen'
//y origen bx,by, y lo dibujamos sobre la superficie en la posicion sx,sy.
//Luego asignamos a by un nuevo valor teniendo en cuenta el tama?o del tile y la separaci?n vertical 'ysep',
//y para que vaya quedando unido, sumamos el tama?o del tile a la coordenada vertical de dibujo en la superf?cie 'by'
repeat numTX{
draw_background_part(back,bx,by,tsize,sizeY,sx,sy)
sx+=tsize;
bx+=tsize+xsep;
}
surface_reset_target()
//Ahora vamos a coger la superficie creada como nueva imagen para ajuntar, esta vez verticalmente, y creamos una nueva
//superf?cie con el tama?o correcto
back=background_create_from_surface(res,0,0,width,sizeY,0,0)
surface_free(res)
res=surface_create(width,height);
//Al crear la nueva imagen desde la superf?cie anterior, el offset en 'x' y en 'y' son nulos, asi es necesario hacer
//algunos reajustes de variables
sx = 0;
bx=0;
by=0;
//Y lo mismo de antes, solo que con rect?ngulos 'altos', lo hacemos con rect?ngulos 'anchos'
surface_set_target(res);
repeat (numTY){
draw_background_part(back,bx,by,width,tsize,sx,sy)
sy+=tsize;
by+=tsize+ysep;
}
//Reiniciamos el canvas a la salida del monitor, gurdamos la superf?cie en un .png y listo
surface_reset_target()
surface_save(res,"newTileset.png");
// TADA!!
[/gml]
Ejemplo:
Entrada:

Salida:
Versi?n de GM utilizada: :GM8: Pro
Informaci?n y utilidad: Bien explicada justo aqui abajo:
[gml]
/*************** TILESET JOINING SCRIPT *********************/
// //
// Este script sirve para crear un tileset sin separaci?n //
// entre sus tiles a partir de su correspondiente im?gen //
// con los tiles separados. //
// //
// Por 'Kirs' //
/*************************************************************/
//Argumentos: Imagen original, Offset en X, Offset en Y, separacion en X, separaci?n en Y, tama?o de tile
//Inicializar variables:
var back,width,height,xoff,yoff,xsep,ysep,tsize,sizeX,sizeY,numTX,numTY,bx,by,sx,sy,res;
back = argument0;
xoff = argument1;
yoff = argument2;
xsep = argument3;
ysep = argument4;
tsize = argument5;
bx = xoff;
by = yoff;
sx = 0;
sy = 0;
sizeX = background_get_width(back)
sizeY = background_get_height(back)
numTX = sizeX div tsize
numTX-= numTX div tsize
numTY = sizeY div tsize
numTY-= numTY div tsize
width = (numTX)* tsize;
height = (numTY)* tsize;
//Creamos la superf?cie y la asignamos como canvas
res=surface_create(width,sizeY);
surface_set_target(res);
//Primero vamos a unir la imagen horizontalmente
//Para esto cogemos rect?ngulos de 'anchura = tama?o del tile' y 'altura = altura de la imagen'
//y origen bx,by, y lo dibujamos sobre la superficie en la posicion sx,sy.
//Luego asignamos a by un nuevo valor teniendo en cuenta el tama?o del tile y la separaci?n vertical 'ysep',
//y para que vaya quedando unido, sumamos el tama?o del tile a la coordenada vertical de dibujo en la superf?cie 'by'
repeat numTX{
draw_background_part(back,bx,by,tsize,sizeY,sx,sy)
sx+=tsize;
bx+=tsize+xsep;
}
surface_reset_target()
//Ahora vamos a coger la superficie creada como nueva imagen para ajuntar, esta vez verticalmente, y creamos una nueva
//superf?cie con el tama?o correcto
back=background_create_from_surface(res,0,0,width,sizeY,0,0)
surface_free(res)
res=surface_create(width,height);
//Al crear la nueva imagen desde la superf?cie anterior, el offset en 'x' y en 'y' son nulos, asi es necesario hacer
//algunos reajustes de variables
sx = 0;
bx=0;
by=0;
//Y lo mismo de antes, solo que con rect?ngulos 'altos', lo hacemos con rect?ngulos 'anchos'
surface_set_target(res);
repeat (numTY){
draw_background_part(back,bx,by,width,tsize,sx,sy)
sy+=tsize;
by+=tsize+ysep;
}
//Reiniciamos el canvas a la salida del monitor, gurdamos la superf?cie en un .png y listo
surface_reset_target()
surface_save(res,"newTileset.png");
// TADA!!
[/gml]
Ejemplo:
Entrada:

Salida:

3
Preguntas y respuestas / Re: ?C?mo hago un buen texto con pausa en Game Maker?
Mayo 20, 2011, 09:58:58 PM
Lo suyo seria coger una variable contador, que aumentara cada cierto tiempo, y usar el string_copy de 0 a 'contador' para obtener la parte de la string original que se va a 'dibujar'.
Y cuando se compruebe que 'contador' es igual a la longitud de la frase original,
cambiar la frase a dibujar y reiniciar el contador.
Y cuando se compruebe que 'contador' es igual a la longitud de la frase original,
cambiar la frase a dibujar y reiniciar el contador.
4
Preguntas y respuestas / Re: game maker con crack y venderlo es legal?
Marzo 09, 2011, 01:12:17 PM
1. La pirateria es delito.
2. Intentar vendre un programa que no has hecho tu por muy crakeado que est?, es una idea totalmente fuera de lugar... y qu eno dice mucho a favor de uno.
2. Intentar vendre un programa que no has hecho tu por muy crakeado que est?, es una idea totalmente fuera de lugar... y qu eno dice mucho a favor de uno.
5
Preguntas y respuestas / Re: Rampas o slopes: que el jugador se resbale solito...
Enero 21, 2011, 10:54:37 PM
Primero tienes que calcular el angulo de la superficie.
Y una vez tengas eso aplicas movimiento dependiendo del seno del angulo (a mayor inclinacion, mayor es el seno).
Y una vez tengas eso aplicas movimiento dependiendo del seno del angulo (a mayor inclinacion, mayor es el seno).
6
Preguntas y respuestas / Re: Mouse seguir m?s r?pido
Octubre 28, 2010, 12:58:06 PM
Prueba con esto:
inicializa una variable global.objeto_a_arrastrar = noone;
Evento 'mouse_left_pressed' de cualquier objeto arrastrable:
[gml]global.objeto_a_arrastrar = id;[/gml]
Evento 'mouse_left_release'
[gml]global.objeto_a_arrastrar=noone;[/gml]
Y en otro objeto controlador, que ejecute a cada step:
[gml]if global.objeto_a_arrastrar!=noone {
global.objeto_a_arrastrar.x = mouse_x
global.objeto_a_arrastrar.y = mouse_y
}[/gml]
Eso deberia funcionar bien, supuestamente...
inicializa una variable global.objeto_a_arrastrar = noone;
Evento 'mouse_left_pressed' de cualquier objeto arrastrable:
[gml]global.objeto_a_arrastrar = id;[/gml]
Evento 'mouse_left_release'
[gml]global.objeto_a_arrastrar=noone;[/gml]
Y en otro objeto controlador, que ejecute a cada step:
[gml]if global.objeto_a_arrastrar!=noone {
global.objeto_a_arrastrar.x = mouse_x
global.objeto_a_arrastrar.y = mouse_y
}[/gml]
Eso deberia funcionar bien, supuestamente...
7
Preguntas y respuestas / Re: juego multjugador (necesito mucha ayuda)
Octubre 25, 2010, 02:54:21 PM
Si no sabes hacer un juego, no lo hagas.
Aqui se viene a solucionar dudas puntuales, pero no es plan de pedir a los demas que hagan un juego por ti : /
Aqui se viene a solucionar dudas puntuales, pero no es plan de pedir a los demas que hagan un juego por ti : /
8
Preguntas y respuestas / Re: Hacer que cambie nuevamente el sprite index? (Ayuda)
Septiembre 11, 2010, 10:21:42 PM
Weno, si no reactivas las alarmas dificilmente te volvera a cambiar de color.
Solo las activas una vez en el Create.
insisto en que hagas lo que te he dicho en el otro post =)
Solo las activas una vez en el Create.
insisto en que hagas lo que te he dicho en el otro post =)
9
Preguntas y respuestas / Re: Hacer que cambie nuevamente el sprite index? (Ayuda)
Septiembre 11, 2010, 09:26:05 PM
Cual es el codigo de la alarma??
Esto deberia servir:
if sprite_index = azul
sprite_index= naranje
else sprite_index=azul
alarm[0]= tiempo
Esto deberia servir:
if sprite_index = azul
sprite_index= naranje
else sprite_index=azul
alarm[0]= tiempo
10
Preguntas y respuestas / Re: ?Por qu? quieren un editor externo de rooms?
Septiembre 11, 2010, 09:23:02 PM11
Preguntas y respuestas / Re: ?ngulo entre dos puntos
Septiembre 07, 2010, 08:28:13 PM
point_direction(x1,y1,x2,y2) ^^
Esta funcion te devuelve el angulo en grados.
Si vas a utilizar funciones trigonometricas como el seno o el coseno te interesara pasarlo a radianes con degtorad(x)
Esta funcion te devuelve el angulo en grados.
Si vas a utilizar funciones trigonometricas como el seno o el coseno te interesara pasarlo a radianes con degtorad(x)
12
Preguntas y respuestas / Re: Sobre bordes en los sprites
Septiembre 06, 2010, 07:50:05 PM
Esto es lo mejor que he conseguido con un poco de ingenieria GIMPiana, el resultado no esta mal, ya no tiene esos molestos bordes blancos, eso si, el antialias se ha ido un poco a tomar por saco xD
13
Preguntas y respuestas / Re: ?Como dibujar variable con sprites?
Agosto 30, 2010, 12:27:46 AMfor (i=0;i<numero_de_vidas;i+=1){
draw_sprite(sprVidas,0,10 + (i*20),20)
}
Esto dibuja los sprites de vida cada uno al lao del otro a una distancia indicada por el numero que esta multiplicando a 'i', en este caso 20.
14
Preguntas y respuestas / Re: 39 DLL AYUDAA!! conexiones
Agosto 06, 2010, 11:33:43 AM
Fijate que no sean al mismo puerto
15
Preguntas y respuestas / Re: Enviar un array como argumento a un script
Agosto 04, 2010, 11:57:06 AM
No se supone que se pasan por referencia?
Quiero decir, si al script le envias el array mediante el nombre (script(miarray)) deberias poder usar argument0[0] com un array normal no?
Quiero decir, si al script le envias el array mediante el nombre (script(miarray)) deberias poder usar argument0[0] com un array normal no?