Como dijo kostra, escalar hacia arriba un texto con draw_text_transformed va a pixelarlo (con antialiasing incluido),porque cuando incorporas una fuente al árbol de recursos lo que hace GMS es introducir los caracteres de la fuente seleccionada, con el tamaño definido de fuente, como imágenes formando parte de la página de textura. GMS no usa fuentes true type vectoriales así que dibujar texto es, en la práctica, lo mismo que dibujar sprites.
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.
181
Preguntas y respuestas / Re:Cuando agrando un texto las letras me salen pixeladas.
Septiembre 02, 2015, 02:09:18 PM182
Preguntas y respuestas / Re:juego plataforma
Septiembre 02, 2015, 02:03:26 PM
spr_jugador_anda_derecha tiene que ser el sprite que usas para correr o la condición del segundo if nunca va a ser verdadera cuando corre. Si quieres que dispare tanto si corre como si está quieto y usas sprites distintos para estas acciones, tienes que modificar el código del if así:
Código [Seleccionar]
if (sprite_index = spr_jugador_anda_derecha or sprite_index = spr_jugador_corre_derecha)
183
Preguntas y respuestas / Re:reactivar el evento create de todas las instancias?
Septiembre 02, 2015, 05:52:40 AM184
Preguntas y respuestas / Re:Dibujar con un path
Septiembre 02, 2015, 01:17:28 AM
Puedes guardar las coordenadas del objeto que sigue la path en un array e ir dibujando líneas entre coordenadas sucesivas en cada step. Te adjunto un archivo con la idea en GMS. Si usas otro, este es el código:
Create (o donde quieras comenzar a dibujar la path):
Step:
Draw:
donde path_1 es la path que quieres dibujar.
Create (o donde quieras comenzar a dibujar la path):
Código [Seleccionar]
path_start(path_1,4,path_action_stop,true);
dibuja=true;
p[0,0]=x;
p[0,1]=y;
n=1;
Step:
Código [Seleccionar]
if dibuja
{
p[n,0]=x;
p[n,1]=y;
n+=1;
}
Draw:
Código [Seleccionar]
draw_self();
var i;
if dibuja
{
draw_set_color(c_red);
for(i=0;i<n-1;i+=1)
draw_line(p[i,0],p[i,1],p[i+1,0],p[i+1,1]);
}
donde path_1 es la path que quieres dibujar.
185
Preguntas y respuestas / Re:Al usar comando 3D, pasa a ser un espejo.
Septiembre 02, 2015, 12:55:27 AM
En lo que respecta a que los sprites estén boca abajo, ¿consideraste que la posición 0,0 en una proyección corresponde al extremo inferior izquierdo y no al superior izquierdo? Puede ser que necesites hacer un mirror vertical de los sprites. He trabajado muy poco con 3D pero eso es lo que dice el manual en la descripción de d3d_vertex_texture.
186
Preguntas y respuestas / Re:crear muchas instancias entre un punto y otro
Septiembre 02, 2015, 12:45:37 AM
Aquí tienes una manera. En un objeto controlador del dibujo de puntos pon lo siguiente:
Evento Create:
Evento Step:
Evento Global left pressed:
Evento Global left released:
donde o_punto es un objeto que representa puntos y s_punto su sprite. También dejo un editable con el mismo código.
Evento Create:
Código [Seleccionar]
crea_punto=false;
diam_punto=sprite_get_width(s_punto);
Evento Step:
Código [Seleccionar]
var d,dir,n,i,j;
if crea_punto
{
d=point_distance(mx,my,mouse_x,mouse_y);
if d>=diam_punto
{//hay que crear puntos
dir=degtorad(point_direction(mx,my,mouse_x,mouse_y));
n=floor(d/diam_punto);//número de puntos a crear
for(i=diam_punto;i<=diam_punto*n;i+=diam_punto)
j=instance_create(mx+i*cos(dir),my-i*sin(dir),o_punto)
mx=j.x;
my=j.y;
}
}
Evento Global left pressed:
Código [Seleccionar]
mx=mouse_x;
my=mouse_y;
crea_punto=true;
with o_punto
instance_destroy();
Evento Global left released:
Código [Seleccionar]
crea_punto=false;
donde o_punto es un objeto que representa puntos y s_punto su sprite. También dejo un editable con el mismo código.
187
Preguntas y respuestas / Re:crear muchas instancias entre un punto y otro
Septiembre 01, 2015, 06:45:03 AMCita de: serviciosadistancia en Septiembre 01, 2015, 05:59:54 AM
Kostra, esa idea es buena pero el tema es que va muy lento, la posicion del mouse se aleja y la linea crece lentamente. Que gran juego ese!! jaja, sí, eso es lo que quiero lograr pero lamentablemente no hay una sola persona en el mundo que sepa hacerlo, no hay nada, ni tutoriales ni mucho menos ejemplos, así que no va a poder ser, incluso como ves lo quise pagar pero nadie siquiera se interesó.
Guacusio cuando dije lineas formadas por sprites quise decir lo mismo que antes, sprites alineados, osea los puntos que se tocan uno al lado del otro, no puede ser con draw porque necesito que tengan colision. La pregunta sería entonces si hay alguna manera de rellenar esos espacios vacíos que quedan entre objeto y objeto cuando ponemos instance create en la posicion del mouse y lo movemos a una velocidad alta.
Primer mensaje:
Citarque se dibujen pegados todos esos puntos formando una línea
Segundo mensaje:
Citarnecesito que los puntos se unan por una linea de sprites pero no estirados, sino que sean circulos pegados.
En tu primer mensaje se entiende esto:

y en el segundo, esto (aunque es confuso):

Tal vez en tu segundo mensaje te refieres a "puntos" y a "círculos" como 2 cosas distintas. Tengo claro que lo quieres hacer con sprites, mi pregunta es si quieres lo primero o lo segundo.
188
Preguntas y respuestas / Re:crear muchas instancias entre un punto y otro
Septiembre 01, 2015, 04:19:51 AMCita de: serviciosadistancia en Agosto 31, 2015, 11:26:19 PM
Hola amigos, necesito hacer una línea de puntos y no se me ocurre como, osea, tengo un sprite redondo y cuando pulso boton izquierdo del mouse se graba x e y, cuando suelto se graba xx e yy, y que se dibujen pegados todos esos puntos formando una línea, como para dibujar sin espacios en el medio, como debería hacer?
Cita de: serviciosadistancia en Septiembre 01, 2015, 03:12:42 AM
Amigos gracias por la ayuda. El proyecto aun no lo abro porque no llegue a mi casa y el codigo esta genial pero necesito hacerlo creando sprites y no con draw porque quisiera darle unos efectos de brillo y demas que no se pueden lograr con draw. La idea es poner una alarma que vaya guardando puntos y necesito que los puntos se unan por una linea de sprites pero no estirados, sino que sean circulos pegados.
No entiendo. Primero dices que quieres formar una línea en base a puntos que se tocan y luego dices que quieres unir los puntos con líneas formadas por un sprite. ¿Puedes poner un dibujo de cómo quieres que se vea?
189
Preguntas y respuestas / Re:[Solucionado] Error extraño con place_free :S
Septiembre 01, 2015, 04:00:29 AMCita de: Guacusio en Agosto 31, 2015, 10:58:09 PM
Creo que sé lo que te está pasando. Lo que estás haciendo es ver si el botón ubicado en las coordenadas (player.x-16,player.y) genera una colisión con un sólido, porque estás llamado a la función place_free desde el botón, no desde el player. Probablemente la máscara del botón sí toca un sólido al ubicarla en esa posición. Prueba lo siguiente:Código [Seleccionar]with player
{
if (global.turnon == 1 && (owalks.xst >= x)) || (!place_free(x-16,y)) exit;
image_index = 1;
alarm[0] = 5;
x -= 16;
image_xscale = -1;
}
Cita de: kostra en Agosto 31, 2015, 11:13:17 PM
no, ese fue el anterior intento, mira el del boton IZQUIERDA, que es el que ando probando cosas, puse player.x-16,player.y, pense que esa ere el gran bug, porque vi lo mismo que tu, pero no... textualmente, me esta detectando un solido en esas coordenadas pero como ves ingame, NO HAY NADA :S
¿Cómo? ¿Era o no era el problema el usar la máscara del botón para detectar la colisión en vez de usar la del player? Ahora soy yo el que no entiende.
190
Preguntas y respuestas / Re:Error extraño con place_free :S
Septiembre 01, 2015, 02:14:37 AM
penumbra tiene toda la razón. Sin embargo, viendo el editable (no te preocupes, kostra, no lo voy a publicar), el error de comprobar una colisión usando la máscara del botón en vez de la del jugador es uno adicional y no es el causante del problema. El exit que se ejecuta y causa el problema no es gatillado por la comprobación de place_free sino por la parte anterior:
Ahí es donde la condición llega a ser verdadera y se ejecuta el exit, no en place_free.
Código [Seleccionar]
if (global.turnon == 1 && (owalks.xst >= player.x))
Ahí es donde la condición llega a ser verdadera y se ejecuta el exit, no en place_free.
191
Preguntas y respuestas / Re:Error extraño con place_free :S
Agosto 31, 2015, 11:27:04 PM
¿Podrías entregar la siguiente información?
-Coordenadas de origen y bounding box de la máscara del objeto botón izquierdo
-Coordenadas de origen y bounding box de la máscara del objeto sólido que podría causar colisión, y sus coordenadas x,y al momento de pulsar el botón izquierdo
-Coordenadas del player al momento de pulsar el botón izquierdo
-Coordenadas de origen y bounding box de la máscara del objeto botón izquierdo
-Coordenadas de origen y bounding box de la máscara del objeto sólido que podría causar colisión, y sus coordenadas x,y al momento de pulsar el botón izquierdo
-Coordenadas del player al momento de pulsar el botón izquierdo
192
Preguntas y respuestas / Re:Error extraño con place_free :S
Agosto 31, 2015, 10:58:09 PM
Creo que sé lo que te está pasando. Lo que estás haciendo es ver si el botón ubicado en las coordenadas (player.x-16,player.y) genera una colisión con un sólido, porque estás llamado a la función place_free desde el botón, no desde el player. Probablemente la máscara del botón sí toca un sólido al ubicarla en esa posición. Prueba lo siguiente:
Código [Seleccionar]
with player
{
if (global.turnon == 1 && (owalks.xst >= x)) || (!place_free(x-16,y)) exit;
image_index = 1;
alarm[0] = 5;
x -= 16;
image_xscale = -1;
}
193
Preguntas y respuestas / Re:Errores al guardar y cargar partidas
Agosto 31, 2015, 10:46:19 PM
Tu código para grabar y cargar es correcto. Sin embargo sería bueno que aclararas qué quieres decir con que los objetos se "distorsionan" o "desordenan". ¿Te refieres a que las instancias del juego aparecen en lugares incorrectos o con sus variables cambiadas? ¿Tienes en tu juego estructuras de datos, superficies u otros recursos cargados externamente o creados en forma dinámica?
194
Preguntas y respuestas / Re:Como programar acciones para cuando un objeto este a cierta distancia de otro?
Agosto 31, 2015, 10:39:18 PMCita de: Ziliock en Agosto 28, 2015, 01:38:29 AM
Por favor solo en Drag'n Drop
Un ejemplo de lo que necesito hacer:
Que Objeto A solo se desplace para arriba si Objeto B se encuentra a 150 pixeles por arriba de Objeto A
Tienes que aclarar qué quieres decir con que objeto A se desplace para arriba. Puede ser el disminuir su coordenada y o puede ser también darle un valor negativo a vspeed o bien darle gravedad hacia arriba, un path, etc. También dices que quieres que esto suceda si Objeto B se encuentra a 150 pixeles por arriba de Objeto A. Eso implica que si B está a 151 pixeles o 149 pixeles por arriba de A entonces quieres que no pase nada. Tomando ese supuesto, puedes hacerlo así:

Es decir, usa la acción Test variable en la pestaña Control para revisar la coordenada relativa de A respecto a B.
También te sugiero que llames a las instancias por su nombre, es decir, instancias de objetos y no objetos (así como en C++ por ejemplo, no es lo mismo un objeto que una clase).
195
Preguntas y respuestas / Re:qué formatos de sonidos son mejores para trabajar en gamemaker??
Agosto 31, 2015, 10:12:43 PM
No siempre mp3 es la mejor opción. Por ejemplo, si necesitas hacer loop de un sonido y que no se note un corte entre el final del sonido y su principio, lo mejor es usar wav u ogg ya que todos los mp3 tienen un silencio al final que interrumpe el loop.