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

31
Gracias por avisar, ya la he instalado perfectamente.

Saludos
32
Ahora lo que tienes que hacer, es colocar 4 imagenes, puedes hacer un sprite con varias subimágenes y con la función image_index recorrer cada una de ellas.


image_index = 0 //corresponde a la primera subimagen del sprite
image_index = 3 //corresponde a la cuarta subimagen del sprite


En la misma habitación crea 4 instancias del obj_imagenes y colócalas como quieras

luego en el evento global left mouse press haces una comprobación mediante un if para saber si la subimagen coincide con el sonido correspondiente y muestras un mensaje correcto o incorrecto dependiendo del caso, y haces que vaya a la siguiente room o que se quede en la misma.

No es complicado

Saludos

33
solo tienes que escribir global.nombredelavariable

por ejemplo si quieres crear una variable global llamada nombre el codigo seria el siguiente

var global.nombre;

y en caso de que lo hagas con D&D igual escribes global.nombre o la variable que sea vaya...

Saludos
34
Primero tienes que reproducir un sonido aleatorio cada vez que se cargue la habitación

Para ello en el evento create, debes crear dos variables y almacenar un número aleatorio comprendido entre el 1 y el 4 en una de ellas.


var numero, sonido;
numero = irandom_range(1,4);


A continuación, mediante el uso de un condicional, haremos que el numero elegido por la función anterior elija un sonido.



switch (numero){
case 1:
sonido = "snd_SonidoPerro";
break;

case 2:
sonido = "snd_SonidoGato";
break;

case 3:
sonido = "snd_SonidoLobo";
break;

case 4:
sonido = "snd_SonidoVaca";
break;
}



Por ultimo haces que el sonido se reproduzca añadiendo la variable sonido a la función sound_play()



sound_play(sonido);



Esta sería la primera parte pruebalo a ver si te funciona
35
Lo que intuyo que pretendes realizar es lo siguiente:

cuando se inicie la room, se escucha un sonido aleatorio de cuatro posibles. El jugador tiene 4 imágenes para elegir, de las cuales solo puede elegir una. A continuación y al pulsar con el ratón en una de las imágenes, el juego determinará con un mensaje si el jugador ha acertado o si no, tomando en consecuencia una acción diferente.

Es esto mas o menos lo que quieres hacer?



36
Claro, y yo buscando una función parecida a keypress pero para el Joystick.

Muchas gracias penumbra.

Saludos



37
General / Re:¿Lo que mas te ha costado aprender de GM?
Febrero 19, 2014, 12:09:50 AM
Hola Jangse, no soy ningún experto en Game Maker ya que tan solo llevo unos pocos meses, pero si tengo varios años de experiencia como programador en otros lenguajes como PHP y Javascript.

Si bien es cierto que para algunas personas que conocen algún lenguaje de programación, les pueda resultar más sencillo adaptarse a GML. Pero también puede ser confuso para otras, ya que hay muchos lenguajes y algunos muy distintos a GML.

Me gustaría explicarte algo primero de todo y para ello te pondré el siguiente ejemplo:

Ya se que este ejemplo no tiene mucho que ver ni con Game Maker ni con los videojuegos pero creo que es el idóneo.

Bien, vamos a imaginarnos que alguien nos encarga una aplicación de software para una biblioteca. Antes de ponernos como locos a programar dicha aplicación tenemos que analizar todo lo que necesitamos, y realizar una planificación del proyecto que vamos a desarrollar.

Empezaríamos por pensar que la aplicación tiene que almacenar información acerca de los libros, los autores, las editoriales y los clientes. Y todo esto lo escribiríamos en una hoja de papel. También tendríamos que pensar que los clientes pueden sacar libros de la biblioteca, con lo que tendríamos que hacer otra tabla en la base de datos donde figure la fecha en la que el cliente sacó el libro, etc...

También se planifica el diseño y la forma en la que el usuario va a interactuar con la aplicación. Y repito, todo esto se hace en una hoja de papel o con el Word.

A donde quiero llegar con todo esto es que, te va a resultar mucho más sencillo desarrollar cualquier aplicación, siempre que la tengas bien planificada, ya que solo tendrás que utilizar la lógica y buscar por internet aquellas funciones o variables específicas.

Conocer Game Maker y el lenguaje GML es importante pero la planificación ha de ser para ti imprescindible en todos tus proyectos para lograr los mejores resultados.

Saludos

José R. Onis





38
Hola a todos, recientemente he tenido un problema al navegar por el menu con el Joystick.

Me explico, he creado un menu para un juego con 4 opciones.

NEW GAME
HIGHSCORE
CREDITS
EXIT

Al cargar el menu la primera opción "NEW GAME" aparece resaltada en rojo las otras en blanco.

Le asigné las teclas de dirección con el evento key press "up" y "down" para desplazarme por las diferentes opciones y sin problema. Pero cuando dupliqué el evento para poder elegir desde el Joystick me surge el siguiente problema.

Cuando pulso abajo con el Joystick me salta 3 o 4 opciones y hacia arriba exactamente lo mismo. Es como si lo tuviera en el teclado en el evento keyboard y no en el keypress pero con el Joystick.

Lo que pretendo explicar es que al igual que sucede con el teclado, que por mucho tiempo que mantengas pulsada la tecla el evento no se repite, en cambio con el Joystick si se repite.

No se si a alguien le ha pasado lo mismo antes.


Gracias de antemano

Saludos

José R. Onís

39
Preguntas y respuestas / Re:position_destroy(x,y)
Febrero 18, 2014, 10:45:39 PM
Perfecto, voy a ponerme con ello en un shooter vertical que estoy probando.

Gracias de nuevo

Saludos

José R. Onís
40
Preguntas y respuestas / Re:position_destroy(x,y)
Febrero 18, 2014, 07:52:53 PM
Entiendo entonces que puedo crear un sprite sin opacidad de un radio de 100px, añadir la máscara de este sprite al objeto que desee, y llamar a la funcion position_destroy(x,y) para que de este modo todo lo que este en el radio de alcance sea destruido o afectado.

Muchas gracias por la aclaración.

Saludos

José R. Onis



41
Preguntas y respuestas / position_destroy(x,y)
Febrero 17, 2014, 10:44:15 PM
Esta función, entiendo que lo que hace es destruir una instancia de un objeto en unas coordenadas dadas. Pero, si lo que quiero es destruir varias instancias en un area determinada?

Me explico mejor con un ejemplo:

Imaginemos la onda expansiva de una bomba, con un radio de alcance de digamos 200px en redondo, y que todas las instancias que estén dentro de este radio se vieran afectadas.

La pregunta es: La función "position_destroy(x,y)" sirve para este ejemplo que os he puesto?

Muchas gracias a todos

:GM8:

José R. Onís
42
Juegos completos / ARKA-ONIS 1.0
Febrero 16, 2014, 11:23:41 PM

ARKA-ONIS

Shooter

GM8

Todo un arcade clásico basado en el Arkanoid de Taito de 1986. Destruye los bloques evitando que la bola se cuele por la parte inferior de la pantalla. 4 Niveles distintos en esta primera versión del juego.

CONTROLES

IZQUIERDA - LEFT - BUTTON LEFT JOYSTICK
DERECHA - RIGHT - BUTTON RIGHT JOYSTICK
ACTION - SPACE - BUTTON 1 JOYSTICK

DESCARGA
https://www.dropbox.com/s/zw7h3ie8zpji9so/ARKA-ONIS.exe



43
Preguntas y respuestas / highscore tipo arcade
Febrero 13, 2014, 11:26:30 PM
Hola amigos, supongo que todos nos damos cuenta de los highscore de los juegos arcade.

La idea es que cuando el jugador vaya a grabar su score con su nombre, pueda introducir solo 3 caracteres, por default "AAA" y moviendo a derecha o izquierda vaya cambiando la letra, cuando pulse x tecla fije el primer carácter y así hasta completar los tres.

Sé que la función draw tiene alguna opción para el código ascii. No se si alguien tiene ya algo programado de algún juego que haya creado, estaría bien para implementar a nuestros juegos.

Saludos
José R. Onís
44
Preguntas y respuestas / Juego tipo Arkanoid
Febrero 10, 2014, 01:56:58 PM
Hola amigos, ya he visto en el foro que hay algunas preguntas que hacen alusión a este tipo de juego. De todos modos no he encontrado en ninguna de ellas la solución que busco y que paso a explicar a continuación.

Estoy desarrollando un juego tipo "Arkanoid" con el fin de mejorar mi técnica y aprender nuevos conceptos acerca de GAME MAKER. Este proyecto en concreto lo estoy programando en GMS.

Para este proyecto cuento con 4 objetos: una bola, una barra para el jugador, un muro para que la bola no se salga de la habitación y unos bloques que hay que destruir.

Si coloco un evento de colisión y la acción move_bounce_solid(); al objeto bola con los otros 3 elementos, esta rebota, pero en ocasiones, no se comporta de forma correcta. Es decir, hay veces que está rebotando en horizontal y se queda ahi todo el tiempo sin posibilidad a que el jugador "barra" pueda continuar jugando.

Por otro lado, y para darle más jugabilidad al mismo,el objeto bola, tendría que salir rebotado en distintas direcciones, dependiendo del lugar donde golpee en la "barra" o jugador.

He visto este código en el foro, pero no sé dónde hay que colocarlo, ni tampoco si sirve para solucionar todos los problemas anteriormente descritos.

{
  if (other.x < x)
    { other.direction = 110 + 80*(x-other.x)/sprite_width;}
  else
    { other.direction = 70 + 80*(x-other.x)/sprite_width;}
  if (other.y > y) other.direction := 360-other.direction;
}

Espero haberme explicado con claridad.

Gracias de antemano a todos.

Saludos
JR-ONIS

45
Preguntas y respuestas / Disparos en plataformas
Enero 11, 2014, 04:17:17 AM
Hola soy nuevo por aqui, así que aprovecho para saludaros y consultaros lo siguiente:

Tengo un personaje para un juego de plataformas, el personaje se mueve a los lados, salta y se agacha. Para ello creé 3 sprites uno idle otro run y otro crunch todos mirando hacia la derecha. Desde step hago que gire 180 con image_xscale para que mire a la izquierda. Con el arma, el personaje dispara a la derecha y a la izquierda perfectamente incluso cuando salta, pero cuando se agacha las balas salen 50 pixeles por encima del arma.

Quizás traduciendo esto a código funcione:

Si has pulsado la tecla right y has pulsado la tecla abajo y has pulsado la tecla disparo, crea una instancia del objeto bala con x dirección y x velocidad. Supongo que esa seria la solución pero no se como hacer eso en GML

Gracias de antemano