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 - SP_Christian

1
Venga va, por tener un avatar de Yuki me presto a ayudarte en el testeo y en lo que necesites, si quieres
2
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:
3
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.

4
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.
5
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).
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...

7
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 : /
8
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 =)
9
Cual es el codigo de la alarma??

Esto deberia servir:

if sprite_index = azul
sprite_index= naranje
else sprite_index=azul

alarm[0]= tiempo
10
http://www.ismavatar.com/lgm/download.php

Almenos este viene con Zoom, algo es algo
11
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)
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

for (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
Fijate que no sean al mismo puerto
15
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?