Alguien me puede ayudar, soy nuevo en esto y quiero saber como puedo hacerlo, Gracias :-[
Un obstáculo normalmente se crea así
instance_create(50, 100, obj_obstaculo)
Para crear tres obstáculos en posiciones aleatorias
randomize()
if instance_number(obj_obstaculo < 3)
{
instance_create(irandom_range(0, room_width), irandom_range(0, room_heighth), obj_obstaculo )
}
En donde pongo ese codigo, en el objeto obstaculo?
Cita de: Santiicejas8 en Mayo 30, 2014, 11:37:27 PM
En donde pongo ese codigo, en el objeto obstaculo?
crea un obj_control para controlar los objetos que van apareciendo
En el obj_control en una alarma pones el codigo de penumbra añadiendo la alarma
randomize()
if instance_number(obj_obstaculo < 3)
{
instance_create(irandom_range(0, room_width), irandom_range(0, room_heighth), obj_obstaculo )
}
alarm[0] = 150;
y en el evento create del obj_control pones
alarm[0] = 150;
eso te crea un enemigo cada 5 seg ;D
para poner los obstaculos cada cierto tiempo has lo penumbra y cerez comentaron pero el el evento alarma y en el create en lugar de
alarm[0]=150;
pon
alarm[0]=5*room_speed;// es lo mismo pero esto evitara que se depende de donde se ejecute siempre sean 5 segundos!!!!
el 5 si quieres lo sustituyes por el numero de segundos que quieras 1 2 3 o 4 o .....
yo lo hice en el evento puse create y en acciones una alarma al tiempo que quieres que vaya apareciendo
en otro event la misma alarma del create en acciones otra ves la alarma y un create instance el que es un foco: escojes tu objeto y en X y Y pones de donde a donde quieres que aparesca para que sea random le pones en cualquiera de las dos
random_range("de donde a donde"), ese "de donde a donde" si es en Y por ejeplo seria de "1 a 300" y se crearia solo en ese rango de la room, ojala te haya servido
He hecho más o menos lo que habéis comentado en un proyecto de prueba y no me aparece nada en pantalla.
Se supone que si mi objeto obj_Player es visible lo muestra directamente o luego hay que hacer algo más?
Así he creado mi objeto obj_control el cual he metido en mi room.
¿Hay alguna forma de hacer un debug en Game Maker? Por ejemplo, he programado en VB2010 y ahora en Flash Builder y hay opciones de hacer un debug línea a línea para ver por donde va el programa...
Hola,
te sobra una h en room_heighth, sería height. Fíjate que está en blanco, en vez de en naranja como "room_width".
Lo de depurar, en la última versión han cambiado el debugger. Se activa con el botón rojo al lado del verde (play). Si quieres que el debugger salte en una línea determinada, ponte en esa línea y pulsa F9 creo que es, o dale al botón derecho del ratón y elige "toggle breackpoint".
OK muchas gracias.
He creado un proyecto nuevo desde cero y ahora sí que me ha funcionado. Usando el proyecto del tutorial de Yoyo de save and loading no era capaz de hacerlo funcionar.
Adjunto fichero de prueba por si a alguien le sirve.
Con respecto al modo debug no me termino de aclarar, jeje! Pero seguiré investigando.
Muchas gracias
De nada!
Lo del debug es bastante lioso. Lo actualizaron hace poco, antes era mucho más sencillo, pero ahora ha ganado muchísima utilidad. Yo también ando un poco perdido, acostumbrado al anterior. Habrá que acostumbrarse de nuevo jeje
Hola funciona muy bien el script, pero tengo una duda como hacer que aparezcan en una altura especifica pero aleatoria mente en lo ancho de la pantalla. No se si me explico bien. y si alguien tiene alguna idea
actualmente aparece en cualquier parte de la pantalla.
Si recuerdas matemáticas, sabes que tienes el eje X y el eje Y. En el eje X controlas la horizontal y en el eje Y la altura.
Harías lo mismo pero dejando la Y con un valor fijo y sólo usas un valor aleatorio para las X.
Saludos
Efectivamente, pero no se mucho de programación de juegos podrias ayudarme con este codigo:
randomize()
if instance_number(obj_obstaculo < 3)
{
instance_create(irandom_range(0, room_width), irandom_range(0, room_height), obj_obstaculo )
}
alarm[0] = 150;
Soy totalmente nuevo en Game Maker (unas dos semanas y además no he tenido tiempo de ponerme a fondo) así que te diré lo que yo entiendo y que me corrija algún entendido...
Yo entiendo que crearás hasta 3 objetos obj_obstaculo. Creo que instance_number(objeto) te devuelve el número de instancias que hay creadas del objeto que le pases como parámetro.
Con instance_create(x,y,objeto) crearás una instancia del objeto poniéndolas en las coordenadas x e y.
irandom_range(a,b) te creará un número entero aleatorio entre los números a y b.
room_width es el ancho de tu room.
room_height el alto de tu room.
Como lo que quieres es que los objetos sólo aparezcan de forma aleatoria sobre el eje X, deberás saber a que altura fija Y quieres que aparezcan, no? Imagina que es 50. Este 50 casi mejor que se lo asignes a una variable global y así si lo vas a usar en más sitios no debes andar recordando que es un 50 y además si tuvieras luego que cambiarlo así no tendrías que hacerlo en todos los sitios que lo hubieras puesto.
Bien, cambia la línea instance_create(irandom_range(0, room_width), irandom_range(0, room_height), obj_obstaculo ) por
instance_create(irandom_range(0, room_width), 50, obj_obstaculo )
Ya sabes lo del 50.
Espero te sirva de ayuda.
Saludos
Gracias por la ayuda, voy a probar!!