Noticias

¡Ayuda a la Comunidad GM, haz una donación!

Comunidad Game Maker

Bienvenid@ a la comunidad hispana de Game Maker. Nuestro objetivo es crear videojuegos y dar soporte en castellano de GM. Para mejorar nuestro servicio hemos implantado, como adicion al reglamento general, algunas normas especificas en los subforos más comunes. ¡No olvides informarte antes de participar!.

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - Guacusio

Páginas: 1 2 3 4 ... 28
16
Preguntas y respuestas / Re:Pregunta rapida
« en: Diciembre 12, 2015, 12:38:14 am »
Si te refieres a la página en Play Store, a mí me demora como 3 o 4 horas.

17
Preguntas y respuestas / Re:Preguntas sobre los Parents
« en: Diciembre 11, 2015, 01:48:45 pm »
Gracias por la explicación, penumbra
Segun lo que te entendí. Si creo X objetos agrupados con un parent. Digamos que tenemos un evento step en el parent. ¿Cada hijo ejecuta su step y el del parent? ¿o lo ejecuta sólo si no tiene evento step propio?

PD:
Dicen las malas lenguas que es posible hacer que el hijo, aunque tenga eventos propios, ejecute de todas maneras eventos del padre, mediante cierta función que supuestamente está documentada en el sacrosanto manual de GM:S. Dicen...  :-[
Ya, en serio. Te has vuelto muy troll....xD

Tu segunda pregunta contesta a la primera. Penumbra te lo indicó: los eventos de los hijos sobreescriben a los del padre y cuando sólo el padre tiene el evento, el hijo lo hereda como si también lo tuviera.

La herencia tiene muchos usos, además de ahorrar código en colisiones. De hecho, si un hijo no tiene eventos, para todos los efectos se comporta como una instancia del padre con la salvedad de que su object_index es distinto y sus variables intrínsecas (sprite_index, depth, visible, etc.) tienen sus propios valores. Esta propiedad permite, por ejemplo, hacer operaciones utilizando with con el padre que serán realizadas también con los hijos, asignar el valor de una variable al parent que será transmitida a los hijos, o en general ejecutar cualquier código sobre el padre y así ejecutarlo también automáticamente en los hijos.

La función a la que penumbra se refiere en forma misteriosa y que sirve para llamar al evento del padre es event_inherited. Con ella puedes ejecutar adicionalmente el evento del padre incluso si el hijo tiene el suyo propio.

18
Juegos completos / Re:Pato espacial
« en: Diciembre 09, 2015, 03:57:31 am »
Me parece un juego ingenioso, difícil de controlar al principio pero luego se le agarra el ritmo. La música y la jugabilidad están muy buenas.

19
Preguntas y respuestas / Re:Ayuda con grid hexagonal
« en: Diciembre 09, 2015, 02:47:14 am »
Es difícil ayudarte si no tenemos la más remota idea de qué ejemplo de grid hexagonal estás hablando.

20
Preguntas y respuestas / Re:Ver dentro de una red privada el juego
« en: Diciembre 08, 2015, 12:13:02 am »
Si tu objetivo es crear una conexión de red entre 2 juegos hechos para HTML5, te tengo malas noticias. El manual dice en su apartado Networking:

Citar
NOTE: These functions are not currently available for the HTML5 target module.


21
Juegos completos / Re:Reblock (Windows y Android)
« en: Diciembre 06, 2015, 07:57:35 pm »
Un juego que hace mil años está en tu firma jeje, ya lo vi, y tio, hacer un juego de puzzles así, no es fácil.

PD: fenris? ese quien es? jejeje es bromis :B

Sí, le tengo cariño a este juego y vaya que he invertido tiempo y esfuerzo en mejorarlo, no ha sido nada fácil pero haciéndolo he aprendido un montón y me ha traído muchas satisfacciones.

22
Juegos completos / Re:Reblock (Windows y Android)
« en: Diciembre 06, 2015, 06:02:35 pm »
Acabo de sacar la versión 2.0.1 de este juego con un montón de mejoras respecto a la anterior. Es bienvenido cualquier comentario o informe de problema o bug  :D

Los link de descarga están en el post inicial. Unifiqué las versiones de android en una sola versión gratuita.

23
Preguntas y respuestas / Re:Sobre teclas de movimiento en Android
« en: Diciembre 06, 2015, 02:54:26 pm »
Me gustaría ayudarte, pero antes de entrar a hacer un montón de suposiciones quisiera saber en qué eventos van cada uno de los códigos que pusiste.

24
Preguntas y respuestas / Re:Problema con las views
« en: Diciembre 06, 2015, 12:47:07 am »
Cuando haces un juego, GMS crea una superficie llamada application_surface donde dibuja todo lo que ves del juego en pantalla y cuyas dimensiones corresponden a las del room, o bien a las del view, si es que hay views activas. Cuando cambias a un room de tamaño distinto o con unas dimensiones de view distintas, el tamaño de la application_surface no cambia automáticamente para adaptarse a estas nuevas dimensiones así que todo es escalado para que quepa dentro de la application_surface original. Para evitar esto, al comienzo de cada room tienes que cambiar el tamaño de la application_surface y darle las dimensiones del nuevo room o view, mediante la función surface_resize:

Código: [Seleccionar]
surface_resize(application_surface,view_wview[0],view_hview[0]);
Esto no cambiará el tamaño de la ventana de juego pero mantendrá el aspect ratio del view o room sin deformarlo.

25
Preguntas y respuestas / Re:Dividir una string en más sub-strings
« en: Diciembre 05, 2015, 02:38:46 am »
Penumbra te dio una idea. Yo aporto también con otra forma de hacerlo. La idea básica es en primer lugar insertar un espacio en blanco delante de cada carácter especial, de modo que en la cadena original queden todas las "palabras" ya separadas por espacios. Para esto se puede crear una lista con todos los caracteres especiales y luego recorrer la lista al tiempo que se utiliza string_replace_all sobre la cadena original. Luego se explota el string con cualquier función que lo descomponga en palabras separadas por espacios. Llevando esto a código, sería:

Código: [Seleccionar]
texto="así se suma,+ así se resta,-";
e=ds_list_create();
ds_list_add(e,",",".","+","-",";","*","/");//caracteres especiales se guardan en una lista
for(i=0;i<ds_list_size(e);i++)
    texto=string_replace_all(texto,e[| i]," "+e[| i]);//inserta un espacio delante de los caracteres especiales
i=0;
while texto!=""
    {
    s=string_pos(" ",texto);//busca posición del primer espacio
    if s=0
        {
        palabra[i]=texto;//última palabra, no hay espacio en blanco
        texto="";
        }
    else
        {
        palabra[i]=string_copy(texto,1,s-1);//genera palabra
        while string_char_at(texto,s)=" " and s<=string_length(texto)
            s++;
        texto=string_delete(texto,1,s-1);//borra caracteres hasta antes de la próxima palabra
        }
    i++;
    }
ds_list_destroy(e);

Para ver el resultado:

Código: [Seleccionar]
m="";
for(j=0;j<i;j++)
    m+="palabra["+string(j)+"]="+palabra[j]+"#";
show_message(m);

26
Preguntas y respuestas / Re:entero demasiado grande!
« en: Diciembre 04, 2015, 08:06:47 pm »
El código que pusiste tiene algunos errores en las condiciones de los while: debe ser >= y no > o no estarás considerando el bit de peso más alto en el cálculo. Tampoco corresponde la parte donde haces "out += string(in);" que le agrega una cifra de más al número, ni es necesario evaluar string(out) si out ya es un string.

Respecto a las ds_list, a lo que me refiero es a que dentro del script generes una lista y guardes en ella un número por cada letra, y luego retornes el índice de la lista al final del script. Sería algo como esto:

Código: [Seleccionar]
///ascii_to_bin(string)
//Script by MHP Labs
var lista;
lista=ds_list_create();
outfinal = "";
for (i=1;i<=string_length(argument0);i++)
{
    out = "";
    cout = 0;
    in = 0;
    char[i] = string_char_at(argument0,i);
    in = ord(char[i]);
    while (in >= 1)
    {
        bin[cout] = in mod 2;
            in = in div 2;
        cout++;
    }
    cout--;
    while (cout >= 0)
    {
        out += string(bin[cout]);   
        cout--;
    }
    ds_list_add(lista,real(out));
}
return lista;

Luego, para llamar al script y rescatar los números binarios asociados a cada letra, por ejemplo para mostrarlos en un mensaje, puedes hacer esto:

Código: [Seleccionar]
var l,i,r;
r="";
l=ascii_to_bin("Hola ke ase");
for(i=0;i<ds_list_size(l);i+=1)
    r+=string(l[| i])+"#";
show_message(r);
ds_list_destroy(l);

No hay que olvidar destruir la lista luego de que no se necesite.

Tengo curiosidad por saber cómo es que un script así te podría ser útil, ¿por qué necesitas transformar un texto a números binarios?


27
Preguntas y respuestas / Re:entero demasiado grande!
« en: Diciembre 04, 2015, 05:49:05 am »
Yo tengo entendido que GM almacena los reales como números de coma flotante de 64 bits.

http://gmc.yoyogames.com/index.php?showtopic=653938
http://gmc.yoyogames.com/index.php?showtopic=658673

En el apartado Data Types del manual de GMS dice:

Citar
Real Numbers

real numbers are any value that is not a string, nor any of the other possible data types. So, 124, 45639.566546456, 0, -45.5 etc... are all examples of real numbers. All real numbers are stored as 32bit floating point values (even integer values), so you may experience slight rounding errors when dealing with these. For more information on this and other number related functions, please see: Reference - Real Numbers.

Al menos eso es lo que vi en el manual, pero puede ser un error de éste. Sea cual sea el caso, cuando mucho podría almacenarse un máximo de 9 caracteres de esta forma, considerando que cada caracter en ASCII ocupa 7 bits.

es justo lo que quiero evitar T_T
de verdad que no hay otra opción? T_T

Depende de lo que quieras hacer con la información. Una cadena consta de varios caracteres, cada uno con su código ASCII, así que el resultado de la conversión que buscas debiera entregar no uno sino varios números. ¿Por qué debe entregar el resultado en formato binario en vez de decimal? ¿No podría la función devolver un ds_list con los números asociados a cada caracter en vez de un gigantesco número con unos y ceros?

28
Preguntas y respuestas / Re:entero demasiado grande!
« en: Diciembre 03, 2015, 11:03:16 pm »
GMS maneja números reales en formato de coma flotante de 32 bits, lo que significa que se pueden representar 2^32 números = 4294967296 números, que corresponde a un número con aproximadamente 10 cifras significativas. Si quieres guardar un número binario con muchas cifras, lo mejor sería que en vez de devolver un real con 28 cifras significativas como 1010110101010101010110101001, devolvieras eso mismo pero como string y adaptar tu programa para que use ese string en vez de un real con una precisión monstruosa, cosa que no es factible.

29
Preguntas y respuestas / Re:Crear cuenta desarrollador marketplace
« en: Diciembre 03, 2015, 06:09:32 pm »
Me parece que el problema es que la imagen que pusiste no muestra el font. En vez de poner un screenshot del sprite de GMS con imágenes microscópicas, coloca una imagen donde se distingan bien todos los caracteres.

30
Yo te sugiero que no pongas todos los huevos en la misma canasta y diversifica los lugares donde publicas tu juego para android. Google play puede ser la más famosa, pero existen muchas otras, como Amazon, SlideMe, Gamejolt, etc. Mientras en más partes, mejor. Considera las opciones que te indica kostra y disemínalo por todas las redes sociales que conozcas; pon un link en tu firma, crea publicidad cruzada con otros desarrolladores, muéstralo en diversos foros, etc. aunque, seamos sinceros, los desarrolladores independientes y desconocidos lo tenemos difícil.

Páginas: 1 2 3 4 ... 28