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

811
Noticias / Re:Concurso Comunidad Game Maker 2016
Enero 19, 2016, 12:02:00 AM
¡Qué bien, ordo_ab_chao (vaya nombrecito xD)!
Y sí, dale una leída al post principal. La actual fecha de inicio del concurso es el 24 de enero (si alguien no está de acuerdo o no puede participar por la fecha, avisarlo, que la cambiaremos si es necesario)....
Es decir, estos días, antes del 24 son para reunir personas para el concurso, y el 24 (o la fecha que quede al final) publicaremos la temática del juego (para evitar trampitas xD) al igual que la fecha límite para entregar los juegos, y las votaciones (por parte de los usuarios) y calificaciones (por parte de los jueces) darán comienzo.
Si no tienes problemas con la fecha, bienvenido seas, ordo_ab_chao...¡apuntado!
812
Noticias / Re:Concurso Comunidad Game Maker 2016
Enero 18, 2016, 11:40:22 PM
Hola, Grewyks. Tomaremos en cuenta tu petición.
Si vemos que realmente la fecha del concurso está mal estructurada para los participantes, podríamos cambiarla. Aunque claro, habrá que esperar, supongo unos 2 o tres días más (habría que hablarlo con los demás jueces), y si hay desacuerdo con la fecha, deberíamos cambiarla.

En fin, aunque hayan problemas con la fecha, supongo que te apuntas oficialmente al concurso ¿no?
Grewkys apuntado xD
813
Si tienes diferentes problemas, es mejor que crees otro post para preguntar. Pero revisa el error varias veces para ver si lo encuentras. Y como último recurso pregunta. Para no llenar el foro de preguntas "fake"...
Pero si deseas ayuda, envíame MP (Mensaje Privado) y te puedo ayudar un poco... saludos
814
No necesitas tener necesariamente los sprites "finales" del personaje personalizable. Puedes hacer cuadros de colores para diferenciarlos y usarlos de prueba.

Pero como te digo, antes de intentar hacer cualquier cosa, haz pruebas con los códigos. Te tejo un spoiler con una lista de lo que deberías aprender antes de meterte en cosas fijas.
Con cosas fijas me refiero a, antes de aprender a cambiar el vestuario de un personaje, aprendas a usar las funciones de dibujo en general, y así...
Bueno, aquí el spoiler:

[spoiler]
Lógica de programación: Lo fundamental, es lo primero que debes comprender, ya que es la base para crear cualquier cosa.
Por ejemplo, algo sencillo:
[gml]
si tiene más de 13 años
puede pasar
si no los tiene
no puede pasar
[/gml]
Eso es lógica, pura lógica, con lo que te desenvolverás para crear sistemas más complejos y no simples sumas y restas (2+2=4 xD)

Sintaxis: Lo más importante para, aparte de saber programar, programar sin que te salte un error en toa la cara xD. Cada lenguaje tiene su propia sintaxis, algunos son más "flexibles" que otros, y el GML, al estar entre los más flexibles, no te será difícil de aprender

Sentencias y expresiones: Son como las piecitas del rompecabezas, debes conocer los tipos de valores que existen, las operaciones matemáticas, los operadores y etc.

Funciones Otro de lo más básico, son piecitas de código que facilitan el trabajo, y en muchas ocaciones, hacen un trabajo imposible de hacer sin ellas.

Y lo otro es más específico, como arrays, estructuras de datos, ciclos y entre otros. Pero con lo que te he listado arriba te será más que suficiente para saltar al mundo de la programación con el pie derecho
[/spoiler]
815
Tanto show_message como get_string funcionan en android. Y no son las únicas:
show_message
show_message_async
show_question
show_question_async
get_string
get_string_async
get_integer
get_integer_async

Todas estas funciones sirven de igual forma en android. Pero las funciones get_open_filename y get_save_filename NO funcionan en android.
Y cómo una nota, Game Maker: Studio tiene sandbox, por lo que no podrás leer un archivo de la tarjeta SD o la memoria de tu android
816
Usa string_heigth:

[gml]
///texto_dividido(x,y,str1,col1,str2,col2);
var X = argument0;
var Y = argument1;
var texto1 = argument2;
var color1 = argument3;
var texto2 = argument4;
var color2 = argument5;

var w = string_width(texto1);
var h = string_height(texto1);
var h2 = string_height(texto2);
if h == h2
h = 0;
draw_set_colour(color1);
draw_text(X,Y,texto1);
draw_set_colour(color2);
draw_text(X+w,Y+h,texto2);
[/gml]

A ver si funca
817
Debes usar dos draw_text, y un string_width para poner el segundo texto después del primero.
Puedes, por ejemplo, poner un script con lo siguiente:
[gml]
///texto_dividido(x,y,str1,col1,str2,col2);
var X = argument0;
var Y = argument1;
var texto1 = argument2;
var color1 = argument3;
var texto2 = argument4;
var color2 = argument5;

var w = string_width(texto1);
draw_set_colour(color1);
draw_text(X,Y,texto1);
draw_set_colour(color2);
draw_text(X+w,Y,texto2);
[/gml]

Y después lo llamas
[gml]
texto_dividido(x,y,"Emboscada",c_yellow,"Se anticipa a los ataques enemigos.",c_green);
[/gml]
818
También es el de atrás de android
819
[GML]
vk_backspace
[/GML]
820
Una pregunta, ¿dónde debería ir el return y qué variable debería devolver? Ya que hace falta en el script y es de lo más importante en el script.
821
Preguntas y respuestas / Re:Alguien sabe esto?
Enero 14, 2016, 07:55:20 PM
Apartir de Game Maker Studio, el ++ sí funciona. En Game Maker 8.1 o inferiores no
822
Hola, hace poco hice una pregunta en el foro "Preguntas y respuestas" donde tenía un error con mi código de encriptación. Gracias a jmbs19 logré solucionar el problema principal y se me ocurrió darle una pequeña (en verdad, muy pequeña xD) mejora para hacerle un poco (en verdad, muy poco) más complejo y extraño.
Al terminar mi script, recordé que muchos sistemas de encriptación tienen un nombre, como base64, sha1 (Secure Hash algorithm) y otros que obviamente tienen un nivel muy superior al mio, así que para no quedar tan abajo (?), le dí su propio nombre: "SEEA" (Siglas en inglés de: "Scrambled egg encryption algorithm", que significa "Algoritmo de cifrado del Huevo Revuelto").

Así que vamos allá:

Autor: NiuWeb (agradecimiento a jmbs19)
Versión de GM utilizada: GM:S 1.4.1657 (Debería funcionar en cualquier GM:S, pero más abajo seguro que no)
Descripción: Encripta o proteje una cadena de texto con una clave de encriptación para hacer ilegible su contenido. En realidad, el proceso de protección es una tontería, pero funciona aceptablemente

Códigos:
Ahora se viene lo importante, los códigos:
Primero, el código para encriptar:
[gml]
///seea_encode( str, key );
var str = argument0;
var key = argument1;

var kl = string_length(key);

if (kl mod 2) == 0
{
    var m1 = string_copy(key,1,kl/2);
    var m2 = string_copy(key,kl/2,kl/2);
    key = m2 + m1;
}
else if (kl mod 2) == 1
{
    var m1 = string_copy(key,1,1);
    var m2 = string_copy(key,kl-1,1);
    key += chr(  max(  ord(m1), ord(m2)  ) - min(  ord(m1), ord(m2)  )  );
}


var result = "";
var char;

while string_length(str) > (string_length(key) + 1)
{
    var rest = string_length(str) - string_length(key);
    var falt = string_copy(key,1,rest);
    key += falt;
}


for(i=1;i<=string_length(str);i++)
{
    char = ((string_ord_at(str,i) + string_ord_at(str,i) - string_ord_at(key,i)));
    result += chr(char);
}
return (result);
[/gml]

Y luego, el de desencriptar:

[gml]
///seea_decode( str, key );
var str = (argument0);
var key = argument1;

var kl = string_length(key);

if (kl mod 2) == 0
{
    var m1 = string_copy(key,1,kl/2);
    var m2 = string_copy(key,kl/2,kl/2);
    key = m2 + m1;
}
else if (kl mod 2) == 1
{
    var m1 = string_copy(key,1,1);
    var m2 = string_copy(key,kl-1,1);
    key += chr(  max(  ord(m1), ord(m2)  ) - min(  ord(m1), ord(m2)  )  );
}


var result = "";
var char;
while string_length(str) > (string_length(key) + 1)
{
    var rest = string_length(str) - string_length(key);
    var falt = string_copy(key,1,rest);
    key += falt;
}
for(i=1;i<=string_length(str);i++)
{
    char = ((string_ord_at(str,i) - string_ord_at(str,i) + string_ord_at(key,i)));
    result += chr(char);
}
return result;
[/gml]

Los argumentos de cada script son:
[gml]
seea_encode( str, key );
/*
donde str es la cadena a encriptar
y key es la clave para encriptar
*/


seea_decode( str, key );

/*
donde str es la cadena encriptada a desencriptar
y key es la clave que se usó para encriptar
*/
[/gml]


Espero le pueda ser de utilidad a alguien. :-[
No les pido créditos porque entre menos se sepa con qué tipo de protección guardas tu información, más seguro es  XD
823
Cita de: poposo en Enero 13, 2016, 11:46:43 PM
No funciona xq la controladora se dispara despues de la creacion del room me parece
Bueno, la intención original de mi idea fue exactamente por eso.
Imagina: Tienes el código en el creation code. El creation code se ejecuta antes de las propiedades de la view. Primero se cambia el tamaño de las view en el creation code, y cuando se ejecutan las propiedades, las view vuelven a quedar como por defecto
Si no te funciona, deberías intentar poner la alarma a un máximo de 5 steps, y si ni así funciona, qué te digo...usa el room_set_view, a ver si con eso sirve...
824
Te dije que sí! xD
825
¿En qué evento ejecutas ese código?
Acabo de recordar que hace un tiempo se explicó en alguna parte de este foro que las views se cargaban después del create, o algo así, no recuerdo.

Si lo tienes en <create>, intenta hacer lo siguiente:
1)- Primero, copia todo el código de adaptación de resoluciones al evento alarm 0, y en <create> sólo dejas esto:
[gml]
alarm[0] = 2;
[/gml]

A ver si es eso