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

256
¿Haz definido tu tablero como un array bidimencional de 5x5? ¿Si no es así como lo haz hecho? De todos modos recomiendo rotundamente que lo conviertas en un array de una o dos dimensiones. Cambien dime como haces para comprobar que llevas 5 bien(en código).
257
[gml]var a;a=0;
rini_init();
INI = rini_open("List.ini");
//Iterate through them
name = rini_key_find_first(INI,"PARTICIPANTES");
while (name!="") {//Con esto creamos un array ^^
    name = rini_key_find_next(INI,"PARTICIPANTES");
    name[a] = name;
    a+=1
}
//rini_close(INI);
rini_close(INI);

alarm[0] = 15;[/gml]
No debería ser así?.

Lo de la variable "a" es fácil, solo definela en create y no en ese código o usa el random dentro de ese código. Las variables declaradas con "var" son temporales y solo funcionan en el código en el que son declaradas.
258
Para acceder a variables de otro objeto se tiene que escribir la id u object index de la instancia a la que se quiere acceder seguido  de un punto y la variable deseada.

Ejemplos.
[gml]
//Se puede acceder a la instancia usando su object index.
/*Solo es recomendable cuando tienes una sola instancia del objeto ya que
se accede a la primera instancia creada del objeto y no a una en especifico.*/
obj_control.lluvia=0;

/*También se puede mediante su id o identificador único de la instancia, esta se
obtiene de diversas maneras (busca en el manual), 
(al poner el mouse sobre una instancia en el editor de rooms se puede ver su id)*/
10035.caminar=false;
//ó
var a;
a=instance_nearest(x, y, obj_enemigo);
if instance_exists(a){
     a.vida-=10;
}
[/gml]

También existe el bucle with que ejecuta las instrucciones deseadas dentro de cada instancia del objeto deceado ó en una instancia unica.
[gml]
//Con el siguiente código se destruyen todas las balas del mapa.
with(obj_bala){
    //Esto se ejecuta en cada instancia del objeto bala
    instance_destroy();
}

//ó se puede usar para una instancia en especifico.
with(10024){
     direction=180;
     speed=10;
     correr=true;
     iniciar_pista(0, 0, 1);
}
//ó
var a;
a=instance_place(x, y, obj_monje);
with(a){
     /*wololo*/
}
//también se puede usar la palabra especial "other".
with(other){/*...*/}

//instance_create devuelve el id de la instancia creada.
with( instance_create(x, y, obj_bala ) ){
     speed=10;
     direction=obj_player.direction;
}
[/gml]

Desde el editor de rooms al poner el mouse sobre una instancia se puede acceder al "creation code" de la instancia en especifico, allí puedes definir propiedades especificas de esa instancia. Por ejemplo cambiarle el color, el tamaño o hacer que siga un path diferente a los demás.
259
Al escribir el nombre del sprite, gm devuelve su indice...

[gml]draw_sprite_ext(sprite_index, image_index, x, y, image_xscale, image_yscale, image_angle, image_alpha, image_blend);
[/gml]
Y el còdigo anterior no era para mostrarte lo que debes de escribir en cada campo, el còdigo funciona tal y como està. sprite_index, image_index, x, y, etc todas esas son variables predefinidas en todos los objetos. sprite_index indica el indice del sprite usado por el objeto, image_index la subimagen en la que està el objeto, etc(buscalas en el manual).
260
Preguntas y respuestas / Re:Redibujando la pantalla
Abril 10, 2013, 12:32:22 AM
Cita de: internauta en Abril 08, 2013, 10:01:43 PM
Seguiré intentándolo, pero me temo que al final tendré que usar Unity con una cámara fija para hacer juegos 2D.
??? Usar unity para 2d es casi como usar gm para 3D  XD.

No tengo ganas de discutir mucho aquì, pero concuerdo contigo en que hay un muchisimas cosas en la misma estructura  del gml que se pueden o deben cambiar, mejorar o añadir a gm. Incluso yoyo lo sabe pero intentan mantener la compatibilidad en versiones anteriores, en yoyo se habla mucho de una version de gm a la que de momento le llamàn gm:next(ya que serà la version desarrollada despues de studio) que aùn no està siquiera comenzada pero parece ser como el GM IDEAL.

[quote author=Mgbu link=topic=18470.msg87929#msg87929 date=1365462724
No quiero retar ni nada, si no intento decir que el GM no se queda corto en lo que has preguntado, se debe quedar corto en el 3D, en el rendimiento, o en cosas mas complejas en las que no tuve que renegar todavia

[/quote]
En cuanto al rendimiento, aunque no parezca gm:studio se lleva a varios engines 2d comerciales y dicèn que con la compilacion en llvm la ejecucion de còdigo llegarà a ser hasta 100 veces màs ràpida.

Por ultimo, te recomiendo experimentar algo màs con el gm. Quizàs al principio parezca engorroso, pero ya que entiendas bièn comò funciòna vas a ver lo fàcil y ràpido que es hacer las cosas.
261
Cita de: internauta en Abril 05, 2013, 08:14:41 PM
Ahora bien, tenía el código en un botón en el evento DRAW, y lo he tenido que quitar del DRAW del botón al DRAW de un objeto sin sprite (un objeto de control), porque si lo dejaba en el DRAW del botón no me dibujaba el propio botón.

No se por qué, ni si es que es así o no... Pero no merece la pena seguir perdiendo tiempo investigando esto cuando se puede hacer con un objeto control sin sprite asociado.
Para dibujarlo sin usar otro objeto puedes usar la función "draw_self()" o lo que es lo mismo draw_sprite_ext(sprite_index, image_index, x, y, image_xscale, image_yscale, image_angle, image_alpha, image_blend); (solo te digo esté para que entiendas que es lo que se está haciendo).

Cita de: internauta en Abril 05, 2013, 08:14:41 PM
Sigo necesitando cajas de texto para que el usuario introduzca valores. Me parece algo fundamental, y no he visto que GM las tenga. ¿Me equivoco?
Sé que se puede acceder al teclado virtual del android con funciones como "get_string" (pruebala antes), pero son muy incomodas, mas como para debug y no se si yoyo ya haya añadido mejores funciones para estó. Si no encuentras como puedes irte a los métodos antiguos y hacer tu propio teclado  ;D.
http://gmc.yoyogames.com/index.php?showtopic=553495
262
Preguntas y respuestas / Re:Redibujando la pantalla
Abril 07, 2013, 09:41:20 AM
Cita de: internauta en Abril 06, 2013, 04:33:27 PM
Lo cierto es que encontré otra vía para hacerlo. No fuerzo un redibujado, pero si puedes esperar a que se redibuje sólo, me funciona bastante bien.

El tema es introducir un objeto sin sprite en el room, y usar su evento DRAW. La idea sería usar variables booleanas para cuando yo tenga que redibujar algo. Por ejemplo, poner un texto al pulsar sobre un botón (imagen-objeto). Pues creo una variable que al pulsar sea true y en otro caso mantenga false. Luego chequeo esa variable en el DRAW del objeto sin sprite, y si es true dibujo lo que necesito... El texto o lo que sea.

A mi, de momento me funciona bien.
Bueno es que esa es la manera común de hacerlo, a quien se le ocurre que tiene que redibujar la pantalla completa cada vez que quiere dibujar algo.

Cita de: internauta en Abril 06, 2013, 04:33:27 PM
Ahora bien, después de llevar programando toda mi vida, os tengo que decir que este sistema de código que tiene GM me parece bastante arcaico, por decirlo de forma suave. ¿No hay ningún documento donde se explique con claridad cuándo y dónde se produce cada evento de los que tiene GM? Realmente, su ayuda me parece bastante mala. Muy pobre.
Me parece que en esto tienes razón. La documentacion de gm esta muy revuelta y muchas veces incompleta aunque no me parece algo "arcaico", creo que solo es cosa de acostumbrarse.

Cita de: internauta en Abril 06, 2013, 04:33:27 PMEn fin, en mi parecer... Que para hacer una cosa que sería muy sencilla en el propio Java, haya que andarse exprimiendo la cabeza para ver cómo reflejarla en GM....
Creo que eso es más bién por que sigués pensando como si estubiaras en java. Gm se basa en eventos y tienes que esperarlos para hacer las cosas, así de simple. Recuerda que gm es para programar juegos y por lo general necesitas un orden constante en la ejecucion de los eventos para que todo esté en tiempo real, esto no siempre es lo mas optimo pero funciona, así pues lo normal es que los menus y cosas inmobiles de ese tipo se redibujen constantemente por si solos en lugar de como se haría en otros lenguajes.
263
Preguntas y respuestas / Re:Redibujando la pantalla
Abril 06, 2013, 08:33:08 AM
Para que lo necesitas?
264
Cita de: Maitreya en Abril 04, 2013, 09:48:36 PM
Es un post de 2011, no creo que conteste, el usuario no estuvo mas tiempo activo
Ouch ya se me hacia raro ver a Metal Luigi volver a postear.

Por otra parte Eggshell tiene la duda, pero no se si este bien contestarle a otro usuario.
265
Cita de: Maitreya en Abril 04, 2013, 09:50:53 PM
Por favor no uses letras rojas, tenemos usuarios daltónicos que no pueden leerlas.
Se que suena a broma pero es en serio.
Gracias, ya se me hacia raro que el post estubiera vacio  XD. Perdon no pude evitarlo, aunque por otra parte nunca habia considerado a los daltonicos, quizá algo como eso deberia estár en el reglamento.


Así lo haria yo, la variable largo es el numero de caracteres antes del cambio de linea, si lo quieres en pixeles avisa.
[gml]if ( string_length(keyboard_string) mod largo+1 ) == largo{
    keyboard_string=keyboard_string+"#";
}[/gml]
266
Cita de: Eggshell en Abril 04, 2013, 09:33:45 AM
Yo también busco lograr poner emoticones pero nadie sabe hacerlo...
Nadie? si no habias preguntado, como puedes saber?.

@Metal Luiji.
Podrias pasar el script "string_make_width", va a ser necesario modificarlo y otra cosa no entiendo muy bien esta parte, es mas creo que es innecesaria, intenta eliminarla.
[gml]for (c = 1; c <= string_length(text); c += 1)
if string_char_at(text,c) = " "
text = string_delete(text,c,1)
else
break[/gml]

Y por cierto los emoticones como planeas ponerlos? usando cadenas de caracteres especiales, no? como por ejemplo "(:" para que salga una carita feliz.
267
Preguntas y respuestas / Re:Mis dudas
Abril 04, 2013, 09:05:07 AM
Cita de: Ash en Abril 03, 2013, 08:18:57 PM
Y si lo pones que te salga cuando colisiones, te sale automáticamente.
Y no es eso lo que quieres? que cuando colisiones salga el mensaje?. La verdad es algo confuso.

Edit: Ah creo que ya ented'i, con boton te refieres a una tecla, me confundiste, pense que era un boton del suelo en el juego.

ESTO VA EN EL EVENTO DE COLISI'ON.
[gml]
//usa vk_tecla ej vk_space como argumento;
//o usa ord('LETRA') ej. ord('B');
if keyboard_check_pressed( ord('A') ){
     //el codigo del mensaje de texto
}[/gml]

Y listo, si usas librerias hay una para los ifs, buscala tiene un signo de interrogaci'on y esta en la misma ventana que lo c'odigos.

Por cierto, 10 años!. Ya me haces sentir viejo ;c, es genial que ya conoscas esta comunidad, me habria ahorrado mucho tiempo si hubiese tenido a alguien que contestara mis preguntas. Por otra parte te sorprenderias de que no eres el unico con esa edad haciendo juegos. En esta misma comunidad ha habido otros bastante jovenes, lo importante es que persistas.
268
Preguntas y respuestas / Re:insertar neuva fuente
Abril 03, 2013, 10:03:39 AM
Solo la instalas en tu compu desde el panel de control y la seleccionas desde el gm.
269
Leete ese tutorial que tradujo elvis, lo raro es que el post original en ingles es de un miembro de esta comunidad http://www.comunidadgm.org/index.php?topic=18017.0.
270
Preguntas y respuestas / Re:efecto giro de carta
Abril 03, 2013, 09:26:52 AM
[gml]contador+=.1;
image_xscale=cos(contador);
image_yscale=1.4-abs(image_xscale)*.4
image_xscale=image_xscale+abs(image_xscale)*.4
image_index=image_xscale>0;[gml]
Creo que para que se haga grande seria asi, pero no estoy seguro no tengo gm.