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

31
Preguntas y respuestas / Swipe android pixel a pixel
Enero 20, 2016, 02:02:16 AM
Hola markeros!
Vengo con una nueva duda.
Tengo un sistema de swipe sacado no me acuerdo si desde este foro o desde el de yoyogames, el cual es bien simple. El tema es que al mantener apretado el dedo en la pantalla y arrastrarlo, en vez de hacerlo "suave" por así decirlo, lo have pixel a pixel, por lo cual parece que anduviera todo trancado.
Cómo podría hacer para que el swipe vaya normal, asi como cuando scrolleas una página web o similar?
El código que uso es el siguiente:

Create
drag_x = device_mouse_raw_x(0);
drag_y = device_mouse_raw_y(0);


Step
if (mouse_check_button_pressed(mb_left)) {
    drag_x = device_mouse_raw_x(0);
    drag_y = device_mouse_raw_y(0);
}
if (mouse_y <= 488){
if (mouse_check_button(mb_left)) {
    view_xview[1] += (drag_x - device_mouse_raw_x(0))*1;
    view_yview[1] += (drag_y - device_mouse_raw_y(0))*1;
    view_xview[2] += (drag_x - device_mouse_raw_x(0))*1;
    view_yview[2] += (drag_y - device_mouse_raw_y(0))*1;
    drag_x = device_mouse_raw_x(0);
    drag_y = device_mouse_raw_y(0);
    view_xview[1] = max(0, min(view_xview[1], room_width - view_wview[1]));
    view_yview[1] = max(8, min(view_yview[1],126));
    view_xview[2] = max(0, min(view_xview[2], room_width - view_wview[2]));
    view_yview[2] = max(252, min(view_yview[2], 370));
}}


Nota: Esta marcado para que solo haga el swipe en determinado lugar de la pantalla.

Desde ya, muchas gracias!

Saludos,
Mataca
32
Cita de: NiuWeb en Enero 06, 2016, 08:53:57 PM
¿Toda la pantalla? ¿Negra?
Primero: No has definido el color negro con la función draw_set_colour(), por lo cual no debería suceder
Segundo: La función draw_set_alpha() sólo maneja la transparencia/opacidad de las demás funciones de dibujo, por lo que si tienes un objeto sin evento DRAW, éste no debería alterarse

Lo otro que puedes intentar hacer, es poner en todos los demás objetos que no necesiten este efecto, un simple draw_set_alpha(1), para que no se vean afectados

Tengo muchos objetos en el room como para ponerle a todos eso. Creo que voy a optar por hacer otro efecto. Un efecto que de un +100 se vaya pasando al score de a 1. Obviamente todo rápido.
Gracias igual por la ayuda! =)
33
Cita de: NiuWeb en Enero 06, 2016, 08:38:46 PM
reemplaza la variable image_alpha por la función draw_set_alpha(), así:
[gml]
//En CREATE

alpha = 1;
[/gml]

[gml]
//En Draw

draw_set_alpha(alpha)
alpha -= 0.03;
draw_text(x,y,"ola k ase");

if alpha <= 0
instance_destroy();
[/gml]

Hice tal cual me pusiste y ahora se me oscurece toda la pantalla entera.
34
Preguntas y respuestas / Bug presionar boton
Enero 06, 2016, 08:42:23 PM
Hola markeros. Para lograr un efecto de click en el boton tengo todos los botones de mi juego (android) con los siguientes códigos:

Evento LEFT PRESSED:

image_xscale = 0.9
image_yscale = 0.9


Evento LEFT RELEASED:

image_xscale = 1
image_yscale = 1
alarm[0] = 10


Evento Mouse LEAVE:

image_xscale = 1
image_yscale = 1


Evento ALARM[0]

La accion a realizar.
ej: room_restart();


Pero he notado un pequeño gran bug. Muchas veces el boton queda "presionado" pero no ejectua la acción ni vuelve al tamaño original. Como que hay que tocarlo de nuevo. Si lo hago muchas veces o si lo toco despacito es que pasa a veces esto...
Alguien sabe qué podrá ser?
Tengo una teoría y es que cuando se presiona en los "bordes" al escalarse a 0.9 dejarías de estar presionando el boton entonces al sacar el dedo el "mouse release" no haría nada, porque no estarías tocando el boton. Pero según el evento del "mouse leave" debería de volver el botón a la posición original. Aparte cuando el boton queda "presionado" tocas otras partes de la pantalla y no vuelve a si image scale original. Para que vuelva tenés que volver a presionarlo.
35
Preguntas y respuestas / Efecto desvanecer en texto
Enero 06, 2016, 08:35:26 PM
Hola. Quería saber como se puede hacer el efecto de desvanecer con texto, asi como actualmente hago en imágenes.
El código que uso para un objeto es :
En CREATE:
image_alpha = 1;


En STEP:
image_alpha -=0.03
if image_alpha =0
instance_destroy();


Con esto logro el efecto de desvanecer pero sólo con objetos que contienen imágenes, no con un objeto que contenga draw text.


Desde ya muchas gracias.
36
Hola comunidad.
Quería saber si los juegos que te traía el código fuente para gms que muchos compraron en humble dumble se pueden publicar o tienen derechos de autor, ya que en sí el código lo compre legal pero no se si eso incluye el uso de los sprites y todo el sistema del juego.

Para el que no sabe de lo que estoy hablando es de éstos códigos:


Y algunos otros

Saludos
37
UP!
38
Hola. Quería hacer una pregunta. Lei varias guías y para hacerlo andar supuestamente hay que subir el apk para que genere el código del mismo que luego se pone en global settings.
La pregunta mía es cómo haces para subir algo que todavía no tenés completo? Se supone que el juego lo terminaría al ponerle el ranking. Tendría que subirlo y luego hacer rápido lo del highscore y luego volver a subir un update?

Saludos,
Mataca
39
Preguntas y respuestas / Re:Splash Screen
Agosto 19, 2015, 05:40:01 PM
Cita de: Marth en Agosto 19, 2015, 02:29:08 AM
Con las ultimas actualizaciones de GMS salio una novedad denominada "Splash Screen".
Básicamente, una imagen que se muestra previo a que comience el juego.
Aunque se pueden desactivar, me molesta que cada vez que cree un nuevo proyecto tenga que ir a Global Game Settings a desactivarlo para que no me moleste al ejecutarlo.
¿Hay algún modo de hacer que de forma predeterminada al crear un nuevo proyecto el Splash Screen este desactivado?

Se puede desactivar el splash screen? Dónde?
40
Preguntas y respuestas / Re:Guardar global imagen.
Agosto 17, 2015, 05:09:41 AM
Cita de: Guacusio en Agosto 16, 2015, 03:44:06 AM
¿A qué te refieres con "guardar"? los global.spr_par y global.spr_impar son referencias a sprites, números que los identifican pero no tienen ninguna otra información sobre la imagen. Si guardas estas variables en un ini lo que estás guardando son números y no hay manera de regenerar luego un sprite en base a un número. Si lo que pretendes es disponer de ellos en una nueva ejecución del juego, tendrás que volver a crearlos desde la URL. Si lo que quieres es guardar los sprites en el equipo, usa sprite_save. En cualquier caso, los índices probablemente van a ser diferentes a los originales.

Dónde se guardan los sprite_save? Me está dando error y según chequeo tengo todo bien. Lo tengo así:

En el evento que controla los niveles (estan en el mismo room)
switch (global.level) {
case 01:
global.spr = sprite_add("https://url.png", 0, false, false, 0, 0);  //carga nivel 2
with obj_levelbase
sprite_index = spr_level01 // EL NIVEL 1 VIENE DENTRO DEL JUEGO
break;

case 02:
global.spr_par = sprite_add("https://url.png", 0, false, false, 0, 0); //carga nivel 3 
with obj_levelbase
sprite_index = spr_level0
break;

case 03:
global.spr_impar = sprite_add("https://url.png", 0, false, false, 0, 0);  //carga nivel 4
with obj_levelbase
sprite_index = spr_level0
break;

case 04:
global.spr_par = sprite_add("https://url.png", 0, false, false, 0, 0);  //carga nivel 5
with obj_levelbase
sprite_index = spr_level0
break;

case 05:
with obj_levelbase
sprite_index = spr_level0
break;
}


En el evento que controla el fin del nivel (nivel completado):

if (instance_number(obj_0) == 10) and (alarm[0] < 0) and (global.click == 5) // Todos los objetos encontrados
{
     alarm[0] = 1.5 * room_speed // Esta alarma activa los carteles de "you win" y los botones al finalizar
sprite_save(global.spr, 0, "spr_level0.png")
}


Teóricamente lo que estoy haciendo es, cargar un nivel cuando arranca y guardaría el sprite llamandolo "spr_level0.png" al completar el nivel. No veo en dónde está el fallo.

Y acá el error:
41
Preguntas y respuestas / Re:Guardar global imagen.
Agosto 17, 2015, 04:40:22 AM
Cita de: penumbra en Agosto 16, 2015, 05:14:25 AM
En tu post anterior mencionaste que querías agregar una imagen desde una url porque eso hacía más liviana la app. No sé si este hilo tiene que ver con eso o no, pero si es así, entonces no le veo mucho beneficio. Establecer conexión para descargar una imagen para luego guardar esa imagen en disco y que el juego la use en sesiones posteriores no me parece tan bueno. Entiendo que al principio la app va a ser más liviana, pero al final, el espacio ocupado por todo el juego juntando todos los recursos va a ser lo mismo y terminarás guardando imágenes que podrías haber agregado desde un principio al árbol de recursos y que siempre estarían disponibles sin necesidad de guardarlas manualmente (más código para un resultado final igual)

Yo vería más viable el uso de algún optimizador de imágenes. Los resultados varían según las imágenes, pero hay casos en que la reducción que se logra con esos programas es de hasta un 50% (o más, quizás) y con una pérdida de detalle mínima, prácticamente inapreciable. Como dijo Guacusio, lo que devuelve sprite_add es un índice, y ese índice sirve mientras el juego está cargado en memoria. Al terminar el proceso, todo eso se pierde, y en el ini sólo quedaría un número.

Por regla general, si agregas un recurso (sprite ene ste caso) a GMS en tiempo de ejecución, ese recurso es volátil. Obviamente que se puede guardar, pero si es algo que se va a usar en cada sesión del juego, a mi se me hace más práctico el agregarlo al árbol de recursos desde un principio. ¿Que va a pesar más el juego? Sí, pero si al final la diferencia son unos cuantos megas, yo no me preocuparía, pero entiendo que ya es una decisión personal.

El tema es así: Mi juego tiene aproximadamente 50 niveles. Tengo varios del mismo tipo. Quiero hacer "packs" con hasta 250 niveles lo cual quedaría en 60 megas, y la gente no lo bajaría por ser muy pesado. La idea es que el nivel se juegue, al pasar de nivel, el nivel anterior deje de existir y va a aparecer nuevamente bloqueado ya que es un juego de buscar objetos y no tiene sentido volverlo a jugar.
En cuanto a optimizado, lo tengo hiper optimizado mediante el tinypng.

Cita de: Guacusio en Agosto 16, 2015, 03:44:06 AM
¿A qué te refieres con "guardar"? los global.spr_par y global.spr_impar son referencias a sprites, números que los identifican pero no tienen ninguna otra información sobre la imagen. Si guardas estas variables en un ini lo que estás guardando son números y no hay manera de regenerar luego un sprite en base a un número. Si lo que pretendes es disponer de ellos en una nueva ejecución del juego, tendrás que volver a crearlos desde la URL. Si lo que quieres es guardar los sprites en el equipo, usa sprite_save. En cualquier caso, los índices probablemente van a ser diferentes a los originales.

Voy a probar eso del sprite_save a ver como funciona.
42
Preguntas y respuestas / Guardar global imagen.
Agosto 16, 2015, 02:13:10 AM
Hola. Estoy haciendo una version "liviana" de mi juego en el cual nivel a nivel va cargando la imagen desde la web. Lo tengo asi:

switch (global.level) {
case 01:
global.spr_impar = sprite_add("https://URL/spr_level02_0.png", 0, false, false, 0, 0); 
with obj_levelbase
sprite_index = spr_level01
break;

case 02:
global.spr_par = sprite_add("https://URL/spr_level03_0.png", 0, false, false, 0, 0); 
with obj_levelbase
sprite_index = global.spr_impar
break;

case 03:
global.spr_impar = sprite_add("https://URL/spr_level04_0.png", 0, false, false, 0, 0); 
with obj_levelbase
sprite_index = global.spr_par
break;

case 04:
global.spr_par = sprite_add("https://URL/spr_level05_0.png", 0, false, false, 0, 0); 
with obj_levelbase
sprite_index = global.spr_impar
break;

case 05:
with obj_levelbase
sprite_index = global.spr_par
break;
}


Hasta acá todo bien, anda excelente. El problema es cómo guardar los global.spr_par y global.spr_impar ? Ya que son imágenes y si las guardo en un .ini no creo que funcionen.
43
Preguntas y respuestas / Re:Imágenes link externo
Agosto 13, 2015, 09:48:04 PM
Cita de: penumbra en Agosto 13, 2015, 09:03:51 PM
Pero mencionaste que intentaste hacerlo con una lista, ¿qué código probaste ahí? Lo de los puntos negros no sé a qué se deberá. Quizás se trate de un bug, no veo por qué motivo aparecen los puntos negros cuando la imagen original no los tiene.

EDITADO: Empiezo a sospechar un posible motivo, pero no puedo asegurarlo. El tercer parámetro de la  función sprite_add indica el color a hacer transparente. Quizás esto lo estás poniendo en true y el efecto sean los puntos negros. Lo que hace este parámetro es que la función toma el color del pixel de la esquina inferior izquierda, y en cualquier lugar de la imagen donde aparezca ese color, se elimina. No lo puedo asegurar, pero puedes probar a deshabilitar este parámetro y ver si esto soluciona los puntos

Exacto, era eso del "true" que tu dices penumbra.

Gracias como siempre, cierro nuevamente el tema

Saludos
44
Preguntas y respuestas / Re:Imágenes link externo
Agosto 13, 2015, 08:56:33 PM
Cita de: penumbra en Agosto 13, 2015, 08:42:12 PM
¿Qué código estás usando?
Ahora ninguno. Borre todos ya que ninguno me anduvo. Lo unico que me anduvo pero las fotos se ven mal es con el global.spr = sprite_add.
45
Preguntas y respuestas / Re:Imágenes link externo.
Agosto 13, 2015, 08:22:58 PM
Cita de: penumbra en Agosto 13, 2015, 01:57:11 AM
Una forma en que se puede simular lo que quieres es que definas un arreglo, un mapa o una lista, y que ahí guardes las imágenes que vas cargando. La manera de hacer esto puede variar, ya que se puede ir guardando una imagen por nivel, con lo que el tamaño de dicha estructura crecería, pero también es posible que el arreglo sólo vaya guardando la imagen actual y la siguiente, y que se vayan borrando y agregando imágenes dinámicamente, para que el arreglo sólo contenga dos imágenes. Desde luego que también es posible usar una sola variable y ahí guardar la imagen descargada (si es que ya no se podrá volver a las habitaciones anteriores. Si se va a poder regresar, entonces sería mejor usar el arreglo/lista/mapa).

Hola. Reabro el tema ya que estoy intentando hacerlo con alguna lista, pero no me sale. Tengo 50 sprites subidos a internet, que usan un objeto solo (obj_levelbase), en un mismo room. Lo que cambian son los niveles, en cada nivel va un sprite diferente en ese objeto.
Podrías tirarme alguna cuerda para ver como puedo seguir?


Edit:
Traté de hacerlo asi de otra manera. Asignandole por ejemplo global.spr_lvl02 = sprite_add(link,etce,tc) y luego en el nivel 2, el obj_levelbase con el global.spr_lvl02. Anduvo bien, el problema es que la imagen sale con unas manchas raras, por toda la foto. Si es en png, sale con manchas, si es en jpg sale un poco más pixelada y con menos color.