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

361
Es importante saber con qué función reproduces los sonidos. Si estás usando las funciones legacy para sonido, sound_stop(all) lo que hace es parar el sonido llamado "all", no significa que detiene "todos" los sonidos. Creo que 7sixerCF se equivocó al colocar "sound_stop(all)" y quiso decir "sound_stop_all()".

Si usas las funciones modernas de sonido para GM:S, utiliza audio_stop_all()

El código restante se ve correcto.
362
Juegos en desarrollo / Re:Salta Salta Cubo!
Julio 16, 2014, 08:02:44 PM
Dejando de lado el diseño gráfico y sonido, estas son mis sugerencias:

-Indica cómo se mueve el cubo. Aunque intuitivamente uno use las flechas, es buena costumbre indicar cómo se controla al personaje.
-Mejora la caída del cubo sobre la superficie. Cuando el cubo cae, se ve que un poco antes de tocar abajo éste se detiene y luego cae lentamente. Eso es probablemente porque colocaste al cubo de abajo como sólido y no lo mueves hasta contactar con el suelo mediante move_contact_solid en el evento colisión.
-Haz que los cubos enemigos se muevan en trayectorias más variadas y complejas, por ejemplo de arriba hacia abajo, con velocidades distintas o usando paths.
-No permitas que el cubo pueda salirse por la izquierda del room al principio del juego.
-Podrías darle al cubo protagonista alguna habilidad, como dispararle a los oponentes.
-Me salió este error más adelante en el juego (es evidente su causa):


Citar___________________________________________
FATAL ERROR in
action number 1
of Collision Event with object obj_final
for object obj_personaje:

Moving to next room after the last room.

Otra cosa: en vez de poner un link externo al archivo del juego, adjúntalo al mensaje cuando tenga poco peso, como en este caso.
363
Puede ser que esto ocurra porque te falta dibujar el botón en el evento draw: cuando pones código en un evento draw de un objeto, éste deja de dibujar su sprite y pasa a dibujar en reemplazo lo que le indicas. Para solucionarlo, agrega en el evento draw lo siguiente:

draw_self();

Si usas GM8 en vez de 8.1, tienes que poner:

draw_sprite(sprite_index,-1,x,y);
364
Puedes crear una instancia auxiliar invisible en las coordenadas 0,0 a la que le asignas la path con movimiento absoluto. A la instancia view le indicas en el evento step que sus coordenadas x,y son las de la instancia auxiliar invisible,más las coordenadas del view, más una cantidad fija fx,fy que corresponde a las coordenadas relativas al view de donde quieres que parta el movimiento. Esto hace que la instancia view siga la path relativa a las coordenadas del view en todo momento. En la imagen de abajo se muestra esto.


365
El juego es extremadamente simple en mecánica pero muy difícil en metas. Creo que está bien como experimento y práctica, pero carece de adicción y el sonido y diseño gráfico están muy pobres.
366
Juegos completos / Re:Simplemente cambia
Julio 12, 2014, 05:57:31 PM
Mmm... traté de jugarlo pero no me resultó, incluso viendo el video de muestra, no logré pasar del nivel 2. Podrías explicar un poco mejor cómo funciona la mecánica del glitch para mover al personaje.

EDIT:

Descubrí que hay que usar tanto ratón como teclado.
367
Cita de: Guacusio en Julio 08, 2014, 03:09:12 AM
Visualmente tu juego es muy agradable, me gustaron los tonos, las transiciones y el esmero que pusiste en adornar los escenarios. Por cierto, en un momento entré al menú con enter y al presionar Z sobre un ítem me saltó este error:



Ya me comentaron ese error, pero no conseguí encontrarlo,¿recuerdas el item en concreto? xD

Muchas gracias por el aviso y por la opinión  :)



[/quote]

No me acuerdo en qué item me pasó, pero a ver si me vuelve a salir el error y te cuento.
368
Juegos en desarrollo / Re:Reblock beta
Julio 11, 2014, 04:21:52 AM
Compañeros, subí una nueva versión del juego que estoy haciendo, al que le hice varias mejoras y puede considerarse prácticamente listo. Antes de pasarlo al foro de juegos completos me gustaría saber si tienen alguna sugerencia  :)

Saludos.
369
Visualmente tu juego es muy agradable, me gustaron los tonos, las transiciones y el esmero que pusiste en adornar los escenarios. Por cierto, en un momento entré al menú con enter y al presionar Z sobre un ítem me saltó este error:


370
Juegos en desarrollo / Reblock beta
Julio 07, 2014, 07:14:54 AM

REBLOCK

Puzzle

GM: Studio (Windows)

10/07/14: Actualización del juego con nueva beta 2.0, nuevo enlace a un video y nuevas imágenes.
Esta versión permite 2 jugadores, P1 vs CPU y CPU vs CPU, soporte para joystick y posee 3 niveles de dificultad. Se incorporó menú de presentación y ayuda.

Videojuego de puzzle del tipo 3-in-a-row inspirado en Tetris Attack y Puzzle Fighter, donde el jugador debe alinear 3 o más bloques para formar líneas horizontales o verticales, realizando combos y cadenas. Solicito por favor su cooperación para el testeo de bugs y el envío de sugerencias antes de trasladarlo a juegos completos.

Video: https://www.youtube.com/watch?v=0qKVPIlfDIY






Se adjunta el archivo



371
Preguntas y respuestas / Re:Selector de personajes
Junio 27, 2014, 04:54:59 AM
Ocarina te ha dado una forma de hacerlo. Si lo que buscas es un sistema de selección como en un juego de pelea con una malla de imágenes y un selector rectangular, prueba esto:

1. Crea un sprite donde cada subimagen corresponda a un personaje del juego (por ejemplo s_personajes).

2. Crea un objeto para representar las imágenes de los personajes (por ejemplo o_personaje) y coloca tantas instancias de éste como personajes haya. A cada instancia le asignas el sprite anterior y la subimagen correspondiente.

3. Crea un objeto selector (por ejemplo o_selector), cuya función sea resaltar el personaje preseleccionado. Su sprite puede ser algo como un rectángulo que abarque la imagen de un personaje (por ejemplo s_selector). En los eventos para mover el selector (presión de teclas de flecha u otras) modifica sus coordenadas (x,y) para que se pose sobre las distintas instancias que representan a los personajes.

4. En función de la posición del selector, define qué personaje se ha seleccionado al presionar la tecla de selección.


Código:

objeto o_selector:

CREATE:
//s_personajes=sprite con las imágenes de los personajes
//s_selector=sprite con el recuadro de selección de un personaje
var i,aux;
sprite_index=s_personajes;//sólo para contar el número de subimágenes y su ancho
npers=image_number;
a=sprite_width;
sprite_index=s_selector;//ahora coloca el sprite correcto
for(i=0;i<npers;i+=1)
    {
    aux=instance_create(x+i*a,y,o_personaje);//coloca las instancias con las imágenes de los personajes
    aux.image_index=i;
    }


KEY PRESS LEFT:
x-=a;
if x<xstart
    x=xstart+a*(npers-1);


KEY PRESS RIGHT:
x+=a;
if >xstart+a*(npers-1)
    x=xstart;


372
Preguntas y respuestas / Re:Ayuda con Change Sprite
Junio 27, 2014, 04:22:26 AM
En la ventana Change sprite, donde dice subimage coloca image_index

image_index es una variable que GM actualiza automáticamente para cada instancia y que indica el número de subimagen actual que le corresponde dibujar.

Sobre tu segunda pregunta, la única forma de aplicar un mismo random a 2 instancias es guardar el resultado del random en una variable y luego trabajar con esa variable en las instancias.
373
A mí tampoco me reconoce los archivos .wav. Te sugiero entonces que uses Saudio solamente para reproducir .mp3 y para los .wav uses el motor de GM.

¿Qué error te detecta? Si no funciona tu código, prueba con esto (hay algunas cosas redundantes en el tuyo):

path="Scott Pilgrim vs The World- The Game OST - Scott's Theme.mp3";
saud_Load(path,"sound");
if saud_CanPlay("sound")!="true" {
show_message("The sound you have loaded is incompatible.");}


374
Preguntas y respuestas / Re:Crear criticos
Junio 26, 2014, 04:15:41 AM
Independientemente de cómo decides la cantidad de daño que hace el arma (con un choose anidado, una cantidad aleatoria o lo que sea), una vez que defines el daño "normal", multiplícalo por global.critico+1:

other.hp-=(choose(choose(40,40,45,42),choose(40,10,44,50),choose(40,39,49,41),60))*(global.critico+1)

Si global.critico=0, el daño se multiplica por (0+1) y queda como "normal"; si global.critico=1, el daño se multiplica por (1+1) y queda doble, etc. (podrías hacer global.critico=2 y haría triple daño).

Si quieres generar un número aleatorio entre 2 valores para el daño, usa la función irandom_range. Por ejemplo:

other.hp-=irandom_range(10,60)*(global.critico+1)

Esto genera un daño aleatorio entre 10 y 60 y lo multiplica si es crítico.

375
1. La velocidad sigue aumentando porque la velocidad vertical no la reinicias a 0

2. Mira el editable adjunto con modificaciones al sistema de movimiento

3. El objeto REINICIAR debe crearse cuando el pollo muera. Mira el editable adjunto.