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

226
Preguntas y respuestas / Re:Ayuda con choose
Julio 03, 2012, 05:22:03 PM
   Saludos Makero Mr.Dudas:


   Para resolver tu problema, puedes crear un "array" de nombres. Cada nombre tendrá un espacio para seleccionar. Si está seleccionado puedes marcarlo con un uno (1) en caso contrario puedes marcarlo con un cero (0).

Ejemplo:











ïndice del "array"nombre utilizado
0Monstruo1
1Hipogrifo0
2Super Héroe0
3Mordor1
4Crafter0
5NadieMejorQueYo1


    Solo tienes que entrar en cada nombre y preguntar si está siendo utilizado uno(1) o está desocupado cero(0).

  Cada vez que ocupes un nombre le cambias el cero por un uno.

  Espero te sirva de algo...  XD


227
Preguntas y respuestas / Re:Declarar Array
Julio 03, 2012, 05:00:02 PM
  Saludos Makero y Amigo Mgbu:

   Tienes razón. Puede que necesites un ciclo para inicializar todo un "array". Puede ser "for", "while", etc. no importa. También puedes simplemente hacerlo individual, pero es más trabajoso.


for(i = 0; i < array_size; i += 1 )
                {
                  condicion[i];
                 }


  No se que más decirte... 
228
Cita de: dridly en Junio 22, 2012, 09:24:37 AM
Buenas,
esto tengo que hacerlo en el evento Create del objeto o en el Room Start?

Estoy probándolo con Game Maker Studio y veo que no lo hace.

Saludos,

David
   Saludos Makero dridly:

  No estoy muy seguro pues no se lo que quieres pero creo que en el "room_start" está bien...

  Nunca he usado "room_start".  :-[ 
229
Juegos completos / Re:Bacteria (zombie game)
Junio 21, 2012, 09:25:16 PM
  Saludos Makero Munguia:


  Justo ayer logré descargar tu juego desde el portal de la ComunidadGM.  :-[

  ¡Simplemente genial!  :D  Mis respetos y felicitaciones por tan buen trabajo.   :D

  El entorno gráfico es muy trabajado y la jugabilidad no está mal. No es perfecto, ningún juego lo es, pero puedes pulirle y llegará a profesional con muy pocos arreglos.  :)

  A medida que tenga tiempo lo jugaré y anotaré todo lo que vea interesante. Siempre desde un punto de vista constructivo y muy particular.  ;)

  ¡Enhorabuena! Vas por buen camino.  ;D
230
  Saludos makero dridly:

    Creo que las variables a utilizar son:  :-[

view_enabled = true;
                                                         // en este caso tomé la view cero

  • view_visible[0] = true;  // si será visible o no la "view"

    view_xview[0] = 16; // posición de la "view" en el "room"
    view_yview[0] = 96;

    view_wview[0] = 2016; // largo y ancho de la "view" en el "room"
    view_hview[0] = 1344;

    view_xport[0] = 0;  // posición de la "view" en la ventana de windows
    view_yport[0] = 0;

    view_wport[0] = 960; // largo y ancho de la "view" en la ventana de windows
    view_hport[0] = 640;

      Pruébalo y me comentas... ;)

      Gracias por la atención prestada y disculpa las molestias ocasionadas.    ;D
    [/color]
231
Preguntas y respuestas / Re:char
Junio 21, 2012, 06:56:55 PM
  Saludos makero jorgeelalto:

  Disculpa pero me parece que hay un error en el código al llamar al "sprite". La variable creo que se llama "sprite_index".  :-[

  Pruébalo y después me dices.  :D

  Gracias por la atención prestada y disculpa las molestias ocasionadas.  ;D
232
  Claro, nunca informáste que la imágen era de vista cenital.  :-[ 

  Aun así para las rotaciones en vistas isométricas te sirve la forma que te envié...   8)

   ¡ a makear !   XD
233
Preguntas y respuestas / Re:sprite segun raton
Junio 11, 2012, 11:16:34 PM
  Saludos makero harloneti:


  Supongo que cada subimagen corresponda a un grado, por lo que solamente debes obtener el ángulo de la línea entre la nave y el "mouse" y dibujar la subimagen correspondiente:

(evento "step")  angulo_entre_ellos = point_direction(x_nave,y_nave,mouse_x,mouse_y);
  (evento "draw")  draw_sprite(sprite_nave,angulo_entre_ellos,x_nave,y_nave);


  Aun así me parecen demasiadas imágenes solo para rotar.  :-[

Claro si lo que deseas es un realismo inmaculado en imágenes isométricas, adelante.  XD
234
   Saludos makero Hailo:


  En caso de que no sepas como funciona el GM debes seguir los tutoriales para principiantes y realizar muchas pruebas antes de comenzar a desarrollar aplicaciones.  :-X

  En caso de que ya hayas comenzado con el GML te respondo:  XD

  Dices que conoces las listas, podemos comenzar por ahí. En una lista puedes guardar información que estará disponible solo el tiempo que esté abierta la aplicación, una vez la cierres se pierde.

  Puedes guardar cadenas de texto en los espacios de la lista.
  Para visualizarla solo debes:
   acceder a dicho espacio, ya sea por que conoces su posición en la lista
ds_list_find_value(nombre_lista, posición_número)
o por que conoces el texto en sí
ds_list_find_index(nombre_lista,valor_texto)
extraer el contenido en una variable 
Variable_destino_A = ds_list_find_index(nombre_lista,valor_texto);
Mostrar el texto contenido en la variable (evento "draw") 
draw_text(x_del_texto, y_del_texto, Variable_destino_A); 

Por supuesto que si hablamos de listas y son muchos valores, debemos utilizar los ciclos para recorrerlas y encontrar en ellas los valores deseados. Debes leer la documentación lo referente a ciclos ("for", "while", "repeat", "do") Una vez los domines sabrás en cada caso cual te viene mejor.


  Ahora, en cuanto a guardar los datos para que estén disponibles cuando se vuelva abrir debes utilizar ficheros. Pueden ser binarios o texto, yo te recomiendo texto. Lee en la parte del manual como se almacena en un fichero texto y como se leen los datos en él.  :D

  Una vez conozcas como se hace solo tienes que pensar en que forma los guardarás en el texto y en que forma los leerás. Así, cuando cierres la aplicación se guarden automáticos y cuando la abras los datos se lean del texto automáticamente también.  :D

Claro que esto es grandes rasgos. Debes leer para aprender. Una vez tengas una idea verás que será más fácil.   ;)

¡Inténtalo!    ;D
235
Makero Makes:

  ¿Eres principiante o comienzas desde cero ahora? Los "tutoriales" que yo seguí fueron los del sitio Yoyogames. Ahí están por orden de dificultad y solo con tres de ellos llegué ha comprender bastante bien el GML.  XD

Te recomiendo el "tutorial" donde hacen el primer juego, el "tutorial" de los laberintos y el del juego 1420. Con esos tres di un gran avance en pocas semanas. El resto también están buenos, solo te comento lo que me sucedió.  :D

  Sí, están en inglés. Si tienes dificultad con la lengua de Shakespeare acá, en la ComunidadGM, en descargas, se encuentran algunos de ellos traducidos.  :-[

  Ya cuando domines el GML debes buscar la información estadística de "pokemón". Ahí sabrás como generar los "pokemones", el daño en el ataque, la experiencia, etc.  :D

  Te deseo suerte y mucho estudio.  ;D
236
Saludos Makero Makes:

  El makero MaanuRP tiene razón en cuanto a la funcionalidad de este foro.

  Aun así puedo brindarte información pues también estoy tratando de realizar un "fangame" de "pokemón".

  Nos hablamos por MP para no desvirtuar el foro.
237
Saludos Makero usuariocondudas:

   Mi propuesta es utilizar arreglos o "arrays".    :-[

   * Para ello creas un objeto que tendrá dicho "array". Lo llamaremos "campo".
   * Divides el mundo en cuadros. Lo conviertes en una cuadrícula que serán las posiciones de los árboles.
   * En el "array", cada espacio corresponderá a cada cuadro de la cuadrícula del mundo. Colocarás en cada espacio del 2array" un numero entero que corresponda a cada elemento que quieras dibujar en el mapa. ejemplo: un cero (0) es un espacio vacío por donde se puede mover, un uno (1) es un árbol, un dos (2) es una roca, etc.
   * En el evento "draw" del "objeto campo" pones dos ciclos "for" que recorran los espacios del "array" y, según el número encontrado en cada espacio, dibujen uno u otro "sprite" en el espacio de la cuadricula correspondiente.
   * Cuando alguna unidad vaya a moverse o a crear un camino para desplazarse en el campo puede utilizar el "array" en el "objeto campo". Verificar si en esa posición hay algún árbol (1) o alguna roca (2) y evita esa área.

   De esta forma tienes áreas de colisiones y dibujo de imágenes en un solo objeto. No es pesado para la PC. Si los primeros espacios en el "array" coinciden con los árboles del fondo, simplemente al darle el orden de recorrido del "array" desde adelante hacia atrás los arboles se dibujan correctamente.

  Nota: Esta forma no dibuja "sprites" animados, solamente "sprites" estáticos. La división del espacio en cuadros es necesaria para organizar las posiciones. Se puede crear una cuadricula con divisiones del tamaño de un píxel, pero un árbol no será del ancho de un píxel por lo que es valida la división que se proponga.

  Ya probé esta forma y es muy eficiente, no ralentiza a la PC.   :D
238
Saludos Makero derwin gm:

  Disculpa, pero ¿Podrías explicar lo que significa cada opción de la encuesta?   :-[

  Gracias derwin gm.  :D
239
Preguntas y respuestas / Re:Algoritmo Barrido
Mayo 18, 2012, 07:30:20 PM
Cita de: shaoran en Mayo 17, 2012, 07:12:35 PM
La funcion es por que tengo un objeto que crea mas objetos en la pantalla pero bajo ningun concepto se pueden "superponer" uno sobre otro,y hay de todos los tamaños.
Alguna idea para hacerlo con place_free ? o otra funcion?

Saludos Makero Moderador Shaoran:


  Hace relativamente poco tiempo se terminó el "GIA_03 Tetris", en él se tenía en cuenta que las piezas no se superpusieran unas a otras para colocarlas en alguna posición. Las piezas están formadas por cuadros, que bien pudieran ser los píxeles de los "sprites" de tus objetos.  :D

  Podemos hacer una prueba, he aquí un algoritmo provisional:   XD

  1*  Creas un arreglo bidimensional (array_sprite1[ , ]) para cada "sprite" donde guardas los puntos ocupados (1) y desocupados (0) del mismo.
  2*  Creas otro arreglo bidimensional (array_room[ , ]) donde guardarás todas las posiciones ocupadas (1) y desocupadas (0) del "room"

   Cada vez que vayas a poner algún objeto en el "room" revisas si el arreglo array_sprite1[ , ] cabe en el  arreglo array_room[ , ]. En caso de no caber en la posición establecida previamente, cambia la posición vuelve a probar. Solo termina en caso de no encontrar espacio o en caso de encontrar.

Si lo encuentras, debes agregar el nuevo espacio ocupado dentro del arreglo array_room[ , ] para tener en cuenta que ese espacio está ocupado en próximas revisiones.

  Este algoritmo es un poco burdo, pero solo es para probar. Se puede optimizar, pero primero trata que funcione, luego lo optimizas.  :-[

   ¿Te hace falta algo más?  :D
   
240
Preguntas y respuestas / Re:Algoritmo Barrido
Mayo 17, 2012, 06:44:07 PM
Saludos Makero Moderador Shaoran:

  No entiendo bien el objetivo o la pregunta en sí, pero podrías hacerlo con dos ciclos for anidados: uno para las equis (X) y otro para las yees (Y).

  El resultado del barrido lo puedes guardar en un arreglo bidimensional (arreglo[x,y]) utilizando números enteros para diferenciar los espacios en blanco de los ocupados, etc.

  Sigo sin comprender para qué todo ese trabajo. ¿Acaso deseas comprobar colisiones del tamaño de un píxel?  XD ¡Algo pequeñas, no!   :-[

  Si ofrecieras más información se comprendería mejor que quieres.   ;D