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

166
Normalmente dibujo personajes con anchura de 16 px, y uso rooms con anchura de 256, 320 o 512, así el personaje puede caber 16, 20 o 32 veces a lo ancho.
Con tu estilo de dibujo creo que el personaje podría tener una anchura de 80 a 100 px.
167
¿Por qué razón quieres hacer eso?

Puedes poner el juego a una tasa de fps muy alta, pero en realidad la frecuencia  de dibujo será igual a la frecuencia de actualización de la pantalla.
Si quieres que se dibuje a 60 fps, pero el procesamiento en el evento Step sea 30 veces por segundo, asigna la variable room_speed y usa una variable para saltar el evento Step
[gml]
// Create
room_speed = 60;
procesar_step = false;
[/gml]
En el evento Step invierte el valor de procesar_step. Si el valor es false, salta el evento. Debes usar "Drag and Drop" como en la imagen adjunta.
168
La verdad es un tema complicado, además existen muchas de cambiar la resolución.
Este tutorial de Godot tiene imágenes de ejemplo
http://docs.godotengine.org/en/3.1/tutorials/viewports/multiple_resolutions.html#doc-multiple-resolutions
Mucho de los que se muestra en ese tutorial se puede aplicar a GameMaker, pero el código será completamente diferente.
169
Con div se obtiene el residuo de la división. Sirve para crear ciclos; En este caso, la operación devuelve los valores 0, 1, 2, 3,conforma la variable i aumenta. Cuando i vale 4, la operación devuelve 0 y el ciclo se repite. En el código se usa para crear filas de 4 elementos. Los valores se multiplican por 32 para tener la separación adecuada entre cuadros.

div es la operación división entera (realiza la división y elimina la parte fraccional). En este caso la operación devuelve 0 hasta que i vale 4, entonces la operación devuelve 1. El resultado aumenta cada vez que la variable i es un múltiplo de 4. En el código se usa para permanecer en la misma fila hasta que i es un múltiplo de 4 y ocurre un cambio de fila.
170
Muestra el código que usas. Si quieres, también menciona el tutorial en el que te estás basando.
171
Preguntas y respuestas / Re:Mover objeto con lerp
Mayo 26, 2019, 05:29:43 AM
En Create debes definir la posición final. Por ejemplo
[gml]
x = 100; //posicion inicial
y = 100;
xto = 500; //posicion final
yto = 200;
[/gml]
En Step debes usar lerp
[gml]
x = lerp(x, xto, 0.1);
y = lerp(y, yto, 0.1);
[/gml]
172
¿La imagen se ve borrosa solo cuando se ejecuta el juego o se ve borrosa desde la ventana de propiedades del Sprite?

Puedes hacer que la imagen conserve su relación de aspecto (aspect ratio), pero si la pantalla no tiene la misma relación aparecen bandas negras a los lados, o arriba y abajo. Puedes hacer que la imagen se estire para ocupar toda el área de la pantalla, pero si la pantalla no tiene la misma relación de aspecto de la imagen original, se deforma.
Lo mejor, pero más complicado, es programar el ajuste a la pantalla usando views o surfaces.
173
Puedes crear las instancias e ir borrando elementos de la lista uno a uno, o puedes crear todas las instancias y después borrar o limpiar la lista. El segundo método es más rápido.
Esta es una forma
[gml]
size = ds_list_size(saco); //tamaño de la lista
for(i=0; i<size; i++){ //crear instancias
    x = (i mod 4) * 32;
    y = (i div 4) * 32;
    instance_create(x, y, saco[|i]);
}
ds_list_clear(saco); //limpiar lista
[/gml]

Ejemplo en GMLive
174
Puedes usar una ds_list de esta forma
[gml]
saco = ds_list_create(); //crear lista
repeat(5) ds_list_add(saco, obj1); //agregar obj1
repeat(5) ds_list_add(saco, obj2); //agregar obj2
ds_list_shuffle(saco); //desordenar
[/gml]
175
Tal vez tienes un problema con el antivirus.
¿Exportar a qué plataforma?
176
¿El juego será para PC?

Puedes tomar como base una resolución de pantalla común, como 1920x1080 px. Crea los dibujos con altura máxima de 1080 px. Haz un boceto del personaje y colócalo en un rectángulo con el tamaño de la pantalla para ver si el tamaño está bien. Cambia el tamaño hasta que encuentres la dimensión correcta, después puedes usar el tamaño del personaje como unidad de medida para los demás objetos.

Puedes dibujar el escenario en una sola imagen e importarla como Sprite, si hay imágenes que se reutilizan es mejor crear un Sprite por cada imagen o un tileset.
El tamaño de las imágenes es proporcional a la cantidad de memoria que se utiliza cuando corre el juego.
177
Los tilesets pueden ser imágenes con el estilo que quieras.

Estas son varias opciones para dibujos no pixelados y no creados con Photoshop:
1 Usar otro editor como Krita, Paint.NET o GIMP
2 Usar un editor de gráficos vectoriales como Inkscape
3 Escanear dibujos hechos en papel
4 Usar fotografías
5 Usar versiones renderizadas de modelos 3D

En la pantalla de inicio GMS2 puedes descargar un ejemplo de juego de plataformas, sin embargo, debes seguir otros tutoriales más sencillos para entender cómo funciona ese ejemplo.

Puedes usar el orden de creación con el que te sientas más cómodo.
178
Falta que pongas el icono de la versión de GameMaker que usas, así es más fácil ayudarte.
Lo primero que deberías hacer es seguir tutoriales básicos de GM de la versión que utilizas.
180
Lo que falta es una condición para que la variable atacando se haga false. Se podría hacer false en el evento End Animation o en una Alarm.

No está bien definido el código de cada estado. Puedes crear un script para cada estado, en cada estado se asignan sprites diferentes y los controles pueden ser diferentes. Por ejemplo, en estado normal el personaje responde al botón para iniciar el ataque, pero cuando está atacando ya no debe responder a ese botón hasta que termina de atacar. En step coloca un switch que elija que script ejecutar:
[gml]
switch (estado) {
  case 0: sc_estado_normal();
  case 1: sc_estado_atacando();
}
[/gml]