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

211
En lo personal yo usar?a un script recursivo y una lista, el script checaria las celdas adyacentes para checar si son del color correcto y agregarlas a la lista, y luego checar las celdas alrededor de las checadas, menos las que ya est?n en la lista, al final si la lista es mayor a 4 elimina todas las instancias que contenga.

Claro, todo depende la forma en que lo estes haciendo. Te dejo un ejemplo con el m?todo del que hablo.
212
Simplemente cuando crees la fuente con sprites iniciala desde el primer car?cter, en tanto este en el orden correcto no deber?a haber ning?n problema.
213
En su evento drawn encierra el c?digo que tengas en un if view_current = x donde x es el n?mero de view donde debe diujarse, por ejemplo:

if (view_current == 0 || view_current == 3 || view_current == 5) {
draw_sprite_ext(sprite_index,image_index,x,y,image_xscale,image_yscale,image_angle,image_blend,image_alpha);
}


Dibujaria el sprite del objeto solo en las views 0, 3 y 5.
214
La variale image_index funciona con relaci?n al sprite asignado al objeto, de manera que si dicho sprite tiene m?s o menos subimagenes que el que tratas de dibujar la animaci?n quedara incompleta. No recuerdo en este momento si usar un objeto sin sprite crea un ciclo perfecto para cualquier sprite o si congela la animaci?n, ni tengo el GM a mano para probarlo, pero checa si es eso.

En todo caso cuida que no estes eliminando la velocidad de animacion igualando image_speed a 0 o usando image_single.
215
Ac? tienes un ejemplo de backgrounds movi?ndose a distintas velocidades cuando se mueve el personaje:

http://www.comunidadgm.org/index.php?page=verdescargas&accion=descargaD&download_id=1572
216
El nombre de la variable es image_index, no tienes que remplazar nada en ?l, solo checar su valor:

if image_index = 2 //C?digo
217
Tienes que especificar la posici?n de la textura en cada v?rtice a dibujar, son los 2 argumentos despues de las coordenadas, 0 es el inicio y 1 el final.

Prueba as?:

{
draw_primitive_begin_texture(pr_trianglefan,sprite_get_texture(spr_caja,0));
draw_vertex_texture_color(0,0,0,0,c_white,1);
draw_vertex_texture_color(0,64,0,1,c_white,1);
draw_vertex_texture_color(64,64,1,1,c_white,1);
draw_vertex_texture_color(64,0,1,0,c_white,1);
draw_primitive_end();
}
218
if x > view_xview && x < view_xview + view_wview && y > view_yview && y < view_yview + view_hview {
sound_play(Ruido);
}


En espa?ol, si la x objeto es mayor que la x de la view y menor que el alcance del ancho de la view, y si la y del objeto es mayor que la y de la view y menor que el alcance del alto de la view, entonces suena Ruido.
219
Ten en cuenta que no basta con aumentar la velocidad de la room para hacer los movimientos de los sprites m?s suaves, tambi?n debe modificarse el sprite, agregar los frames "intermedios" a los ya existentes para que la animaci?n sea realmente m?s suave y no solo m?s r?pida.

La manera en que se usa el sleep en el c?digo es para que la animaci?n se vea igual a como se ver?a fuera del bucle, si quieres que la animaci?n sea m?s suave la debes mejorar a medida que aumentas la room_speed.
220
Cambia al sprite al de la animaci?n, usa un bucle que termine cuando se completa la animaci?n, en su interior redibuja la pantalla, coloca una peque?a pausa y luego aumenta la posici?n de la animaci?n.


sprite_index = spr_AniMario;
image_index = 0;
while (image_index < image_number){
screen_redraw();
sleep(1000/room_speed);
image_index += 1;
}
221
Como te dije en mi post anterior, en el Mapa de Caracteres esta el orden que debes usar:



Y get_color(defcol) es el c?digo para usar la ventana de selecci?n de color durante el juego, como habrias notado si te hubieras molestado en probarlo.
223
No se que clase de teclado estaras usando pero el mio llega hasta el 9, no tiene tecla 47.

Seria mejor si usas dos eventos, Key Press 4 y Key Press 7, aparte de una variable y una alarma para dar tiempo entre cada tecla.

Código (Key Press 4) [Seleccionar]
alarm[0] = room_speed/2:
Press = 1;


Código (Key Press 7) [Seleccionar]
if Press = 1 //C?digo que quieras

Código (Evento Alarm[0) [Seleccionar]
Press = 0;

Basicamente, al presionar 4 activas una variable que se desactiva medio segundo despues, si antes de que se desactive presionas 7 se ejecuta el c?digo que quieres.
224
Para la primera usa get_color(defcol), donde defcol es el color predeterminado.

Para la segunda abre el Mapa de Caracteres, el orden que aparece ah? es el que se usa.
225
Hay un peque?o problema, la forma en que pones los nombres de las variables hace que ciertas posiciones se sobreescriban. Por ejemplo, si llamo al script de esta forma:

arrayset("vector",1,11,2,5)

Es decir array vector[1,11,2]=5 el nombre de la variable seria vector1112. Si llamo al script de esta otra forma:

arrayset("vector",11,1,2,15)

Osea vector[11,1,2]=15 el nombre de la variable tambien sera vector1112.

Para solucionarlo se puede poner alg?n caracter entre cada posicion, ya sea letras, guines bajos o lo que quieras.