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

16
Preguntas y respuestas / Re: substituir PNG
Septiembre 10, 2010, 01:20:42 AM
De hecho el PNG es el formato ideal si lo que buscas es calidad en imagen a un tama?o razonable, puedes seguir utilizando el PNG con buena calidad si le reduces la profundidad de color, hay programas (como el Irfan View [aunque hay otros mucho mas especializados]) que pueden lograr una reduccion hasta del 60% del tama?o de la imagen con una perdida de calidad apenas perceptible.

Saludos

PD: en alguna parte lei que GM8 estaba optimizado para PNG -aunque no lo puedo asegurar-
17
CitarHay otra que siempre me molesta: Zoom en la edici?n de rooms. Cuando quiero hacer objetos de 8x8 casi tengo la cabeza dentro del monitor...

Muuuuuuuy cierto...

Ademas poder manipular la paleta de colores a un sprite de 256 colores.
18
Seg?n tengo entendido no puedes guardar la posicion de la musica o sonido, al cargar una partida guardada puedes reproducir la musica que estaba sonando pero desde el inicio y los sonidos que estaban sonando en ese momento no se reproducir?n.
19
Preguntas y respuestas / Re: Lluvia en modo 3d (d3d)
Septiembre 03, 2010, 07:19:14 AM
gracias zerozerito interesante el efecto de nieve  ;D, ciber tomare en cuenta tus consejos para hacerle algunos ajustes al editable de zero  :)

Saludos.
20
Quisiera saber como puedo hacer efecto de lluvia en modo 3D, lo he intentado dibujando un sprite animado sobre la camara pero no me gusta como se ve, quisiera algo mas realista, si alguien tiene ideas, scripts, ejemplos se los agradecer?a.

Saludos.
21
Usa esto en:

- El Objeto que se dibuja semitransparente para uno y solido para otro.
- Evento Draw.

Citar
//Esta es la view en la cual el objeto se dibuja semitransparente
//0 es el numero de la view
//yo le puse 0, pero tu cambiala a la que tu usas

if view_current = 0
{
    draw_sprite_ext(sprite_index,image_index,x,y,1,1,0,c_white,0.5);
}
    else
//Para todas las demas views el objeto se dibujara solido
{
    draw_sprite_ext(sprite_index,image_index,x,y,1,1,0,c_white,1);
}

Debes tomar en cuenta que:
- Para hacer lo que necesitas forzosamente debes usar view_current
- view_current ?nicamente funciona en el evento draw
- cuando un objeto tiene un evento draw, ya no dibuja su propio sprite
- para solucionar esto yo use draw_sprite_ext que simula el dibujado de sprite normal

Anexe un archivo de muestra.

Corre el juego y mueve la esfera blanca con las flechas, la esfera negra se mueve con W,A,S,D.

Veraz como en la vista de la esfera blanca el block azul se dibuja solido y en la vista de la esfera negra se dibuja con una transparencia = 0.5

Edit: ups, publicaron una respuesta mientras escribia esta, el codigo es bastante similar asi que cualquiera de las dos respuestas te servir?.

Saludos
22
Suponiendo que el nombre del objeto del cual quieres grabar los movimientos se llama obj_personaje

en el obj_personaje:

Evento Create

Citar

//variable para grabar
obj_personaje.record = 0;

//variable para reproducir
obj_personaje.replay = 0;


Despues crea un objeto nuevo y llamalo obj_record

luego ponle esto:

Evento Create

Citar

//Numero de frame
i = 0;


Evento Step

Citar

//Empieza a grabar
if obj_personaje.record = 1
{
   frame  = i;
   sprite = obj_personaje.sprite_index;
   image  = obj_personaje.image_index;
   corx   = obj_personaje.x;
   cory   = obj_personaje.y;
   i += 1;
}

//Empieza a reproducir
if obj_personaje.replay = 1
{
   //fin de la reproduccion
   if obj_personaje.nframe >= i
   {
      show_message("fin de la reproduccion");
      obj_personaje.record = 0;
      obj_personaje.replay = 0;
      exit;
   }
   obj_personaje.sprite_index = sprite[obj_personaje.nframe];
   obj_personaje.image_index = image[obj_personaje.nframe];
   obj_personaje.x = corx[obj_personaje.nframe];
   obj_personaje.y = cory[obj_personaje.nframe];
   obj_personaje.nframe += 1;
}


Para empezar a grabar:

Citar

obj_personaje.record = 1;
obj_personaje.replay = 0;


Para detener una grabacion:

Citar

obj_personaje.record = 0;
obj_personaje.replay = 0;


Para reproducir una grabacion guardada:

Citar

obj_personaje.record = 0;
obj_personaje.replay = 1;


Nota:!!!

Esto lo acabo de crear "al vuelo" pero lo revise y creo que debe funcionar...

Recuerda que esto graba posicion, sprite, y frame del sprite ?nicamente del objeto personaje (a.k.a obj_personaje), espero te sirva.

Edit1: Anexe un archivo de prueba y me funciono

Si lo pruebas haz lo suiguiente:
- Corre el juego, una vez empezado presiona Z
- Mueve la esfera con las flechas
- Presiona X para detener la grabacion
- Presiona Z para reproducir la grabacion

je, je, si presionas Z antes de grabar algo te dara error, pero eso se soluciona facil, solo hay que asignar la variable nframe = 0.

Saludos.
23
Preguntas y respuestas / Re: GML en espa?ol?
Agosto 25, 2010, 12:24:46 AM
personalmente creo que el ingl?s es el mejor idioma para programar ;D
24
Preguntas y respuestas / Re: Views
Agosto 22, 2010, 07:27:00 PM
Pues no es posible usar un mayor numero de views que las que te dan por defecto.

Notas para usar views en GML:

- Habilita el uso de views
Citarview_enabled = true;

Debe ser puesto en un Create Event

- Hace la view visible
Citarview_visible[0] = true;

Debe ser puesto en un Create Event

Settings de la view

Deben ser puestas en un Create Event

- Posicion (relativa a la rom)
Citarview_xview[0] = 0;
view_yview[0] = 0;

- Tama?o
Citarview_wview[0] = 320;
view_hview[0] = 240;

- Posicion (relativa a la pantalla)
Citarview_xport[0] = 0;
view_yport[0] = 0;

- Escala
Citarview_wport[0] = 640;
view_hport[0] = 480;

En la escala puese una relacion 1:2 (320,240/640,480), es decir que se dibujara el doble de su tama?o original

Para dibujar una view

- Puedes usar view_current, por ejemplo;

Citarif view_current = 0
{
      draw_text(x,y,string);
}

- Lo anterior dibuja texto ?nicamente en la view 0; view_current unicamente funciona en Draw Event!!.

25
Preguntas y respuestas / Re: Transparencia en sprites
Agosto 20, 2010, 07:17:01 AM
Citar...pero no se porque ami no me aparece la opcion de Transparent, cuando cargo un script..

creo que hablas de un sprite o archivo de imagen.

Actualmente GM maneja un nuevo sistema de imagenes, donde la opcion transparent fue eliminada.

Tal vez encuentres referencias a "transparent" debido a que son tutoriales dise?ados para versiones anteriores de GM.

Para hacer un sprite con fondo transparente solo tienes que editarla (usando el editor propio de GM8), utilizas la herramienta Magic Wand para seleccionar una zona de color y luego la borras presionado supr en tu teclado, tambien puedes usar la herramienta Erase, simple, tan sencillo como usar el paint.

El color transparente sera represantado por un fondo con cuadricula de bloques blancos y grises (como en el photoshop).

Saludos
26
pues creo que es el mismo problema (game maker no sabe el valor de la variable), lo primero que me viene a la mente es que definas de quien es esa variable "ammo" que te da el error, por ejemplo:

nombre_de_objeto.ammo += -(50-greenis01.balas);

o como en el otro caso:

nombre_de_objeto.pammo = balas001.ammo

nombre_de_objeto es el objeto que adminstra esa variable, por lo que veo es el personaje que usas.

saludos
27
pues eso, que al momento que se ejecuta ese codigo GM no sabe cuanto vale la variable "myammo" es por eso que no le puede sumar 50 ya que no sabe cuanto vale actualmente, debes definirla antes.

por ejemplo en un evento create:

"myammo = 0";
28
creo que GM solo se puede cambiar la escala, rotacion, y color... pero no he visto nada en el manual acerca de distorsion de imagen.
29
De manera nativa GM unicamente soporta ".gmmod" (formato propio de game maker 8, bastante limitado), pero puedes usar conversores que pasen tu modelo (3ds, an8, obj, blender)al formato gmmod.
Soporta poligonos de 3 lados
Shading por vertice
Uso de luces muy limitado y no hay efecto de sombras
2 tipos de luces (omni y point)
No soporta modelos animados, aunque se pueden usar varios modelos y sumular una animaci?n, tambien hay un programa para "animar" pero en realidad solo modifica la rotacion, tama?o y posicion de un modelo.

30
creo que por eje te refieres al origen del sprite, lo que quieres lo puedes lograr cambiando los valores Vbor en la seccion Views en las propiedades del room o si estas usando gml con view_vborder[0..7].