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

106
Preguntas y respuestas / ¿Hay un tutorial de esto?
Noviembre 15, 2017, 12:14:16 PM

Estoy seguro que la saga de "mega hombre" es la que mas abusa de esta mecánica de bloques que aparecen y desaparecen siguiendo un patrón de movimiento ¿pero como lo programan? desde mi punto de vista tendrían un objeto que se encarga de todas las colisiones y tiempo de aparición/desaparición, por otro lado el objeto puesto en la "room" tendría las coordenadas en donde serian creadas para una posterior desactivacion cumpliendo un ciclo infinito, de no hacer esto ultimo con el !creation code" habria que armar 1 objeto por cada patron ¿hay o han visto algún tutorial de  :GMS: donde se muestre o explique esto?.
107
Bueno quiero hacer que el objeto tenga sus propias coordenadas de movimiento en "creation code" por esta razón he inactivado las coordenadas del obj_Bloque_Creador, ya que trato de hacer muchos bloques que se mueven en diferentes coordenadas.

CREATE

///Patron
global.patron = path_add();
//Coordenadas
/*path_add_point(global.patron,64,64,room_speed);
path_add_point(global.patron,640,64,room_speed);
path_add_point(global.patron,640,480,room_speed);
path_add_point(global.patron,640,480,room_speed);
path_add_point(global.patron,960,480,room_speed);
path_add_point(global.patron,960,960,room_speed);
path_add_point(global.patron,640,960,room_speed);*/
//Detener movimiento
path_set_closed(global.patron,false);
path_start(global.patron,room_speed/path_get_number(global.patron)*2,path_action_stop,1);
//Crear otro bloque
alarm[0] = room_speed
instance_create(0,0,obj_Bloque_Creado);


ALARMA0

///Crear clon
instance_create(x,y,obj_Bloque_Creado);
alarm[0] = room_speed - 5;


DRAW

///Dibujar lineas de movimiento
draw_self()
draw_path(global.patron,x,y,1);


creation code
//Coordenadas
path_add_point(global.patron,64,64,room_speed);
path_add_point(global.patron,640,64,room_speed);
path_add_point(global.patron,640,480,room_speed);
path_add_point(global.patron,640,480,room_speed);
path_add_point(global.patron,960,480,room_speed);
path_add_point(global.patron,960,960,room_speed);
path_add_point(global.patron,640,960,room_speed);

El resultado es que esta sin movimiento.
108
Preguntas y respuestas / Re:¿Como se crea esto?
Noviembre 14, 2017, 05:47:00 AM
Cita de: 3dgeminis en Noviembre 14, 2017, 03:31:10 AM
Yo lo haria con 3 objetos, caveza, cuerpo y cola.
- La caveza se moveria usando un path (path_start) he iria creando objetos cuerpo cuando se alinee con la grid (place_snapped), ademas que crearia al inicio la cola.
- El cuerpo estaria quieto sin hacer nada.
- La cola se empezaria a mover cierto tiempo despues usando una alarma y usaria el mismo path, igual que la caveza. Ademas cuando se encuentre en la misma posicion que un objeto cuerpo, lo elimina.
Dejo un ejecutable para que se pueda ver.

Debo admitir que el funcionamiento de esos 3 objetos generan un comportamiento tan perfecto a la vista que es un deleite verlo en escena  :D, seria genial tenerlo si no fuera porque el código anterior logra el mismo resultado en términos de mecánica, claramente no visuales porque el mio desaparece en vez de comerse el bloque, aunque me gusta como se ve a la vista  :), 2 objetos que hacen el funcionamiento de 3 parece una opción mas rentable, ademas tendría que ver como programo lo que has hecho, parece simple de entender, en base a lo que he visto en tu ejecutable y lo que explicas en un breve resumen, pero seguro acabo metiéndome en problemas, no creo que tenga un código mas simplificado como estos 2 objetos.

obj_Bloque_Creador
CREATE

///Patron
global.patron = path_add();
//Coordenadas
path_add_point(global.patron,50,50,room_speed);
path_add_point(global.patron,500,50,room_speed);
path_add_point(global.patron,500,400,room_speed);
path_add_point(global.patron,500,400,room_speed);
path_add_point(global.patron,1000,400,room_speed);
path_add_point(global.patron,1000,900,room_speed);
path_add_point(global.patron,1500,900,room_speed);
//Detener movimiento
path_set_closed(global.patron,false);
path_start(global.patron,room_speed/path_get_number(global.patron)*2,path_action_stop,1);
//Crear otro bloque
alarm[0] = room_speed
instance_create(0,0,obj_Bloque_Creado);


ALARMA0

///Crear clon
instance_create(x,y,obj_Bloque_Creado);
alarm[0] = room_speed;


DRAW

///Dibujar lineas de movimiento
draw_self()
draw_path(global.patron,x,y,1);


obj_Bloque_Creado
CREATE

///Duracion del bloque
alarm[0] = room_speed*2; //Empezara a desaparecer


ALARM0

///Informacion del clon
if image_alpha > 0 {
    image_alpha-=0.005; //Velocidad de desaparicion
}else{
    instance_destroy(); //Destruir
}
alarm[0] = 1; //Crear otro


Claramente funcionan como pudo ver en la imagen de arriba, claro que debo hacerles unos arreglos de velocidad para que ocupe espacios cuadrados como el suyo, pero de seguro estos 2 objetos cabeza y rastro, tienen una mejor simplicidad que los 3 de cabeza, cuerpo y cola, quiero volver a aclarar que no estoy menospreciando el tuyo  ;), solo que ve mas complejo a nivel de código de lo que aparenta a la vista  :-\.
109
Preguntas y respuestas / Re:¿Como se crea esto?
Noviembre 14, 2017, 05:25:14 AM
Cita de: somnus en Noviembre 13, 2017, 05:23:53 PM
si quieres profundizar mas en esto, deberias de crear el juego de la culebrita primero, ya que es bastante similar a lo que necesitas, por si luego quieres tener mayor control, o cambiar el comportamiento de como se mueven los bloques ya sea deteniendolo.
Creo que te refieres al "snake" que come bolas y crece, la verdad ya lo tengo incluido como un mini-juego gracias al tutorial de "escuela de video juegos", de hecho pensé en una mecánica en que controlas a 2 jugadores al mismo tiempo con comportamientos variados y dependientes, pero eso es ajeno a este tema  :-\.
110
Preguntas y respuestas / Re:¿Como se crea esto?
Noviembre 14, 2017, 05:21:19 AM
Cita de: desplo en Noviembre 13, 2017, 11:18:10 PM
A que te refieres con "Distintos patrones"?

La razón por la que los bloques dejan un espacio entre si es porque cambiaste la velocidad del path y en ese caso tambien tendrias que cambiar la velocidad del alarm en donde se creara el nuevo bloque.

Con respecto al STEP puedes eliminar, solamente estaba haciendo unas pruebas y se me olvido eliminarlo.
Me refería a que las coordenadas sean establecidas con el "creation code", es decir que con un solo objeto pueda creear varios patrones de movimiento en cada objeto de la "room", el problema es que si le quito las coordenadas y se las pego al "creation code" del objeto en la "room", tendría error.
111
Preguntas y respuestas / Re:¿Como se crea esto?
Noviembre 13, 2017, 11:21:20 AM
Cita de: desplo en Noviembre 13, 2017, 04:41:59 AM
Puedes utilizar un path en un solo objeto que vaya creando otro y ese otro desaparezca cada cierto tiempo.

Adjunto un ejemplo basico de como hacerlo.

En base a tu ejemplo he estado analizando cada una de sus partes, por lo que tengo lo siguiente.
obj_Bloque_Creador
CREATE

///Patron
global.patron = path_add();
//Coordenadas
path_add_point(global.patron,50,50,room_speed);
path_add_point(global.patron,500,50,room_speed);
path_add_point(global.patron,500,400,room_speed);
path_add_point(global.patron,500,400,room_speed);
path_add_point(global.patron,1000,400,room_speed);
path_add_point(global.patron,1000,900,room_speed);
path_add_point(global.patron,1500,900,room_speed);
//Detener movimiento
path_set_closed(global.patron,false);
path_start(global.patron,room_speed/path_get_number(global.patron)*2,path_action_stop,1);
//Crear otro bloque
alarm[0] = room_speed
instance_create(0,0,obj_Bloque_Creado);


ALARMA0

///Crear clon
instance_create(x,y,obj_Bloque_Creado);
alarm[0] = room_speed;


DRAW

///Dibujar lineas de movimiento
draw_self()
draw_path(global.patron,x,y,1);


obj_Bloque_Creado
CREATE

///Duracion del bloque
alarm[0] = room_speed*2; //Empezara a desaparecer


ALARM0

///Informacion del clon
if image_alpha > 0 {
    image_alpha-=0.005; //Velocidad de desaparicion
}else{
    instance_destroy(); //Destruir
}
alarm[0] = 1; //Crear otro


STEP ¿porque hay un step sin código?

¿Que tendría que quitar y agregar al objeto para que haya distintos patrones?

Evidentemente el "creation code" podría servir para eso, tal vez debo quitarles las coordenadas al objeto y ponerlas en el "creation code"de cada uno, aunque eso puede dar un error por la falta de coordenadas del objeto principal.
112
Preguntas y respuestas / ¿Como se crea esto?
Noviembre 13, 2017, 02:24:37 AM

Bueno al parecer se mueve con un orden ya establecido, un "paths", pero va dejando clones que se van creando, estos se van destruyendo a un paso de igual velocidad por lo que siempre habrá una misma cantidad de bloques, cave mencionar que toque un tema parecido a este, pero en 3 días nadie respondió, no hay que negar que parece una mecánica simple que da grandes posibilidades

¿Alguien ha programado algo como esto o sabe como programarlo?

Por otro lado he armado un código y 2 objetos, pero no funciona.  :-\
113
Preguntas y respuestas / Re:¿1 instancia por objeto?
Noviembre 11, 2017, 06:08:08 AM
Cita de: Fa ._. en Noviembre 11, 2017, 05:26:45 AM
de que es el juego ?
Un "tower defense", uno del tutorial de escuela de video juegos, pero adaptado a  :GMS: 2
114
Preguntas y respuestas / ¿No me funciona este objeto?
Noviembre 10, 2017, 11:29:02 PM
Busco que el bloque haga esto.

Un ejemplo en: Angry Video Game Nerd Adventures


He hecho lo siguiente:

spr_Bloque

obj_Bloque_Creador
STEP///////////////////////
path_start (path_Bloque, 3, path_action_continue,true); // Patrón de movimiento
alarm[0] = 30;

ALARMA0///////////////////////////
instance_create (x,y,obj_Bloque_Creado);

obj_Bloque_Creado
CREATE///////////////
image_speed = 0.1;

ANIMATION END////////////////
instance_destroy();

Tiene alguna falla que evita que funcione de la forma que se ve en el GIF, el error mas notable es que no se mueve, quiero aclarar que el path ya esta en la "room" al igual que el objeto.

115
Cita de: Void en Noviembre 09, 2017, 03:28:52 AM
Cualquier licencia que te permita compilar un ejecutable te da el derecho a publicarlo donde quieras, inclusive la licencia standart gratuita de GMS 1 te dejaría poner tus juegos en steam o donde quieras.

Y si, como dije al principio, si compras cualquier licencia de GMS 2 Yoyo te da una licencia Pro para GMS 1.
Vaya ese dato de tener  :GMS: pro por la compra de cualquier licencia  :GMS: 2 no me lo sabia, supongo que ya tienes o has visto a gente que ha experimentado eso, por otro lado ¿me estas diciendo que todo este tiempo he tenido la oportunidad de publicar mi juego en plataformas como steam?  :o
116
Cita de: Void en Noviembre 09, 2017, 03:25:55 AM
GMS 2 cambio las la forma en que maneja recursos gráficos, ahora ya no hay backgrounds y sprites, solo sprites.

Los tilesets son sprites que quieres usar por partes, como el ejemplo que puse en el post anterior.

Los backgrounds ahora son un sprite dibujado en el room, simplemente crea el sprite, luego vas al room, seleccionas el layer de background:


En las propiedades de Background Layer haces click en la barra que dice no sprite:


Eso abrira una nueva ventana donde puedes elegir cualquier sprite que tengas en el arbol de recursos.
¿Con esas opciones que se ven hay se puede lograr el mismo efecto que los "back" de  :GMS:? es decir que tengan ese movimiento "X" "Y", ya que de lo contrario estaría obligado a gastar recursos en animar el fondo para que se mueva en una dirección con solo 1 fotograma.
117
Estoy leyendo el manual de  :GMS: 2 https://docs2.yoyogames.com/index.html?page=source%2F_build%2Findex.html, lo cual es básicamente lo mismo que  :GMS:, solo que hacen mas énfasis en la administración de la interfaz, pero busco una guía donde estén todas las funciones y variables que tiene  :GMS: 2, ya que muchas se agregaron y quitaron, por lo que busco hacerme un manual en español para aprender a programar, ademas podre entregar este dato a algún usuario que desconozca los cambios.
118
Cita de: Void en Noviembre 08, 2017, 10:18:01 PM
Es que en buena teoría un recurso gráfico que ha sido usado para tile sets no debería ser usado también como sprite. Tile sets en general tienen una apariencia similar a esta:



Y pues quedaría raro querer usar eso como un sprite aparte, así que usualmente quieres que el espacio en textura lo ocupe solo el tileset, no también el sprite.
Es que por alguna razón no puedo crear un "Tile Sets" sin haber creado un "Sprite", tuve que cambiarle el nombre para que no haya conflicto.



Básicamente el nombre es.
spr_Fondo_Castillo
Tile_Fondo_Castillo

Creo que estoy haciendo algo mal, porque el "back" que tenia un objeto de fondo no necesitaba que se creara un sprite para su uso en  :GMS:.
119
Cita de: Void en Noviembre 08, 2017, 10:20:24 PM
Si, cuando compras la licencia se desbloquean todas las características del GMS2 y se eliminan todas las restricciones.

Y la versión gratuita de GMS2 es probablemente la versión de GM con más restricciones en la historia del software. Más que una versión gratuita es una versión de prueba ya que ni siquiera puede compilar ejecutables.
Entonces debo comprar la licencia mas barata, la de escritorio, así tendría aseso al contenido bloqueado, supongo que eso me permitiría ponerlo en lugares como steam o paginas web donde la gente visite.

¿Eso también significa que me darían un código para volver profesional a la edición estándar de :GMS:?
120
Preguntas y respuestas / ¿1 instancia por objeto?
Noviembre 08, 2017, 10:30:49 PM
A diferencia de  :GMS:1 ¿uno esta obligado a crear una "instance layer" para colocar objetos?


Veo que por cada objeto a pesar de que se repita me empieza a crear una lista de lo mismo.



En  :GMS: 1 simplemente tomo un objeto y lo coloco sin llenarme una parte de la pantalla con lo mismo, soy consciente de que puedo apretar la flecha para convertirlo en 1 solo bloque, pero no entiendo porque se debe tener un "layer properties" y una lista cuando solo quiero poner objetos que ya fueron programados, ni siguiera me deja darle propiedades únicas al objeto como "creation code", me da la sensación de que :GMS: 2 esta mas limitado que  :GMS: 1 al momento de hacer escenarios y que es menos intuitivo.