¿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).
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.
257
Preguntas y respuestas / Re:[AYUDA] Problema definiendo array
Abril 26, 2013, 02:47:13 AM
[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.
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
Preguntas y respuestas / Re:Cómo instanciar varios objetos iguales y darles valores diferentes internamente
Abril 21, 2013, 06:13:08 AM
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.
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
Preguntas y respuestas / Re:Problemas con el texto (SOLUCIONADO)
Abril 10, 2013, 12:43:15 AM
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).
[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 AMCita de: internauta en Abril 08, 2013, 10:01:43 PM??? Usar unity para 2d es casi como usar gm para 3D XD.
Seguiré intentándolo, pero me temo que al final tendré que usar Unity con una cámara fija para hacer juegos 2D.
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
Preguntas y respuestas / Re:Problemas con el texto (SOLUCIONADO)
Abril 07, 2013, 10:04:40 AMCita de: internauta en Abril 05, 2013, 08:14:41 PMPara 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).
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.
Cita de: internauta en Abril 05, 2013, 08:14:41 PMSé 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.
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?
http://gmc.yoyogames.com/index.php?showtopic=553495
262
Preguntas y respuestas / Re:Redibujando la pantalla
Abril 07, 2013, 09:41:20 AMCita de: internauta en Abril 06, 2013, 04:33:27 PMBueno 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.
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.
Cita de: internauta en Abril 06, 2013, 04:33:27 PMMe 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.
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.
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
Preguntas y respuestas / Re:colocar emoticones en texto
Abril 05, 2013, 12:00:00 AMCita de: Maitreya en Abril 04, 2013, 09:48:36 PMOuch ya se me hacia raro ver a Metal Luigi volver a postear.
Es un post de 2011, no creo que conteste, el usuario no estuvo mas tiempo activo
Por otra parte Eggshell tiene la duda, pero no se si este bien contestarle a otro usuario.
265
Preguntas y respuestas / Re:Limitar ancho de keyboard_string
Abril 04, 2013, 11:57:17 PMCita de: Maitreya en Abril 04, 2013, 09:50:53 PMGracias, 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.
Por favor no uses letras rojas, tenemos usuarios daltónicos que no pueden leerlas.
Se que suena a broma pero es en serio.
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
Preguntas y respuestas / Re:colocar emoticones en texto
Abril 04, 2013, 10:07:31 AMCita de: Eggshell en Abril 04, 2013, 09:33:45 AMNadie? si no habias preguntado, como puedes saber?.
Yo también busco lograr poner emoticones pero nadie sabe hacerlo...
@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 AMCita de: Ash en Abril 03, 2013, 08:18:57 PMY no es eso lo que quieres? que cuando colisiones salga el mensaje?. La verdad es algo confuso.
Y si lo pones que te salga cuando colisiones, te sale automáticamente.
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
Preguntas y respuestas / Re:en android se me deforman los objetos al ajustar la resolucion
Abril 03, 2013, 09:47:13 AM
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.
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.