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

361
Preguntas y respuestas / Re:Problema con .txt
Enero 13, 2013, 07:04:56 PM
Pues todo parece indicar que el archivo que quieres abrir no existe o esta mal escrita la ruta intenta poner un show_message después de abrir tu archivo de texto, creo que si el numero es menor a cero significa que el archivo no se abrió correctamente.
[gml]show_message(archivoTexto);[/gml]

mm no se que mas podría ser.
Intenta usando la función get_open_filename(filter,fname).

Edit: wow me fui 2 minutos y volvi y ya escribieron un montón.

Doble edit: Yaaa. El problema es que no pusiste que estabas usando gm:studio, por algo está lo de poner el icono en el tema.

Pues lo que sucede es que el gm:studio está en un sandboxed lo que significa que no puedes abrir archivos fuera de la carpeta temporal que se crea en datos de programa, la opcion mas simple es añadir tus dos archivos de idiomas a los "include_files" del gm.
362
Checate esté link.
363
Preguntas y respuestas / Re:Teclado y cambio de room
Enero 12, 2013, 04:15:09 AM
Cita de: calio en Enero 12, 2013, 03:26:31 AM
Archivos externos parece ser la solución más adecuada, sin embargo no es tan difícil hacerlo directamente desde el código, utilizando estructuras de datos como grids :D
EL problemas es el acceso a los datos de otro room sin necesidad de cambiar en ningun momento.

Por cierto no entendí muy bien lo que decías del room subsiguiente. cómo? se repara para el siguiente room, pero al ir al anterior vuelve a suceder?.
364
Preguntas y respuestas / Re:Teclado y cambio de room
Enero 12, 2013, 02:51:49 AM
Pero, toda la carga dinamica depende del tipo de juego que sea, planeas hacer varios rooms y dinamicamente sin entrar a ellos cargar todos sus recursos en el room actual? porque si es así no se me ocurre como. O planeas tener rooms guardados en archivos externos?
365
Cita de: Wadk en Enero 11, 2013, 05:14:50 PM
brunoxzx, ¿por qué tanta complicación? con mp_potential_step es un toque.
Esto debería funcionar:
La verdad pensé en usar el mp_potential pero en step estableciendo las variables de x_goal y y_goal tal como tu dijiste hace rato, pero por alguna extraña razón no me vino a la mente usarla en el mismo script. Definitivamente es un mucho mejor método no tiene problemas con las diagonales y esquiva muros entre otras cosas.

Cita de: francordoba en Enero 11, 2013, 05:56:59 PM
Por cierto: ¿Soys programadores?, es decir, ¿vuestro alto nivel se debe al simple uso reiterado del GameMaker, o programabais de antes? A mi el código me cuesta horrores. (Soy diseñador  8))
Yo también inicie con gm y aprendí algo de java y ahora voy por c++ pero lo mio de momento son los juegos y aunque sepa otros lenguajes no se muy bien que hacer con ellos de momento, quizás haga una alguna .dll.
P.D: Ser diseñador no impide ser programador.
366
MMM añadi un argumento al código que es la velocidad de movimiento ya chacaste eso?. Si no es eso debe ser por que tus aliados tengan algun otro codigo en step que interfiere con el script.
367
Preguntas y respuestas / Re:Teclado y cambio de room
Enero 11, 2013, 04:03:50 PM
Haz intentado simplemente usar la funcion io_handle() justo despues de cambiar de room?. Si eso funciona probablemente no necesitaras el metodo de los arrays. La verdad no se me ocurre mucho más. Es dificíl conciderando que pocos tienen gm para mac.
368
Intenta usando el script de wadk de este modo.
[gml]// align_allies(len, dir, cover_angle, speed);
var len, cover_angle, dir;
len = argument0;
dir = argument1;
cover_angle = argument2;
with (objAlly) {  // Cambiá objAlly por el nombre del objeto aliado.
    dir += cover_angle / (instance_number(objAlly) + 1);  // Y acá tambien.
    x += sign(  (other.x + lengthdir_x(len, other.direction + dir)) - x ) * argument3;
    y += sign(  (other.y + lengthdir_y(len, other.direction + dir)) - y ) * argument3;
}[/gml]
369
Cita de: Kamikaze en Enero 10, 2013, 06:47:30 PM
Cabe destacar que el hablaba de la versión "gratis" que no es recomendable para un proyecto serio... por razones obvias ... :)
Uh creo que malentendí la pregunta, si es el gratuito y el ya tiene la versión pro del gm 8 le queda mejor seguir con el gm8.
370
Pues tiene muchas ventajas y diferencias entre las cuales destacan: Exporte a múltiples plataformas, mejorado editor de rooms, físicas con box2d, tiene varias opciones para trabajar en equipos, corredor en C++ que lo hace mas rápido, un mejor y mas rápido sistema de audio, etc.

Ademas en versiones resientes finalmente se pueden usar los operadores "++" y "--" ademas de que se pueden declarar variables y darles un valor al mismo tiempo usando "var"!.

Y bueno en un futuro cercano se añadirá compilación en LLVM que hará diez veces mas rápidos los códigos, ademas de shaders  :-*.
371
Desarrollo de Scripts / Re:Angular
Enero 08, 2013, 12:08:26 PM
Cita de: Wadk en Enero 06, 2013, 06:57:04 AM
Citar0.000007
0.000006
0.000004
0.000012
Aparentemente el mío es el más lento, por lejos jaja. El de brunoxzx parece ser el más rápido. La única duda que me queda es si maneja bien los números negativos.
El mod en números negativos hace lo mismo solo que devuelve el resultado en negativo. Por ejemplo -450 mod 360 debe dar -90.

Siempre me sucede que hago códigos de una sola linea para ahorrarme if's pero al final casi siempre resultan ser mas lentos xD y aveces menos legibles.

Porcieto mi script en una sola linea seria:
[gml]return( argument0 mod 360 + 360*(argument0<0) );[/gml]
y tal vez sea igual de rápido que el anterior.

Cita de: Wadk en Enero 08, 2013, 12:37:33 AM
Cita de: Mr.Dudas en Enero 07, 2013, 03:44:17 PMno seria así?
return abs ( ((((argument0 - argument1) mod 360) + 540) mod 360) - 180 )
No parece que haga lo mismo... para empezar lleva dos argumentos...
Si lo que quisiste decir fue esto:
[gml]return abs((argument0 mod 360 + 540) mod 360 - 180);[/gml]
Lo que hace el script te MR.Dudas es devolver la diferencia entre dos ángulos y esta diferencia es un numero entre -180 y 180 es muy útil, por ejemplo cuando quieres iterar entre 2 ángulos.

Por ejemplo si quieres que el angulo de un brazo que está a 72 grados gire para tomar algún objeto a 350 grados lo primero que se hace es obtener la diferencia entre los dos ángulos con el script anterior (debería dar -82 grados de diferencia) y entonces puedes hacer que el brazo se mueva los -82 grados en un tiempo determinado al gusto.

Edit: Releyendo el post me doy cuenta de que el script que MR.Dudas puso tiene un abs() al inicio, lo cual haría que el script devuelva el angulo entre 0 y 180, no le veo mucho sentido ya que no devolvería el signo de la diferencia. Eso me hace pensar que ni el mismo MR.Dudas sabia lo que el script hacia.
372
Entrando tranquilamente a la cgm por la mañana del ultimo dia del año y me encuentro con estó. Me lograron poner nostalgico  :'( especialmente por no haber estado los ultimos meses activo.

Solo puedo decir que caí redondito, tal vez por que ya paso el día y no te la esperas.

Por otro lado tengo que decir que me encanta este look de la cgm y la organización de los foros no está mal

P.D: ¡Feliz año a toda la cgm!;
373
Desarrollo de Scripts / Re:Angular
Diciembre 31, 2012, 02:16:04 PM
Yo diria que lo más facil rápido es usar mod, ademas de ser mas entendible.
[gml]argument0= argument0 mod 360[/gml]

Aunque eso te deja tu numero con un rango entre 360 y -360 y de hecho muchas veces es lo que quieres, aunque si quieres tu numero entre 0 y 360 positivo pudes añadir esto:
[gml]argument0= argument0 mod 360;
if argument0>=0 return ( argument0 );
return( 360+argument0 );[/gml]
374
Preguntas y respuestas / Re:Multiples enemigos
Marzo 06, 2012, 05:07:33 AM
Algo muy simple que puedes hacer es que la persona corra del alíen mas cercano a ella, para hacer eso tienes que usar la función "instance_nearest(x,y,objeto)" que devuelve la id del objeto mas cercano al punto "x,y" luego puedes hacer cosas como en el ejemplo siguiente.


var ide;
ide=instance_nearest(x,y,obj_alien);
if distance_to_object(ide)<100{
      //Código para correr.
}

Con eso creo que te puedes dar una idea de como usarlo, si necesitas mas ayuda o esto no es lo que quieres solo dilo.
375
Haz intentado usar "image_xscale=-1" para invertir el sprite de tu enemigo en lugar de usar uno nuevo, en lo personal algo que me parece muy comodo de usar image xscale es que se puede hacer lo que dices en una sola linea de código.

image_xscale=sign(obj_protagonista.x-x);