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

2176
Por el precio que mencionó Texic y el número de usuarios en la comunidad, algo se podría hacer...
2177
Uff, quizás estoy pecando de soñador... fue una idea que se me cruzó como rayo en estos momentos...

¿No sería genial que aquí entre la comunidad, nos organizáramos para armar un servidor comunitario para dar el servicio (ON LINE) a juegos de la propia comunidad?

Hasta el servidor se podría armar con partes donadas por usuarios. O donar un dólar mensual para cubrir el servicio al proovedor.

Ah bueno... ya me permití soñar cinco minutos por hoy. En fin, a volver a la rutina  XD
2178
Preguntas y respuestas / Re:change sprite por codigo
Febrero 23, 2013, 12:25:17 AM
Yo no uso el Studio, pero si presionas F1 ¿no aparece el manual? Tenía esa idea, pero no sé... cuestión de que pruebes
2179
Ah, perdón por haber sido tan negativo en mi post anterior. Haciendole poco honor a mi pseudónimo, me puse a buscar en la red, y parece que sí tienes esperanzas. No sé de esto, pero por lo que he leído, la opción sería llamar al archivo ejecutable desde un script, por ejemplo, de PHP

Lee la respuesta # 3 de este post:

http://www.hotscripts.com/forums/php/51128-can-i-run-exe-file-server.html


Aunque yo tengo mis dudas, no sé si el proovedor al monitorear tu tráfico, le parezca sospechoso el comportamiento de tu archivo.  :-[ Además como dice Texic, el proovedor va a decir algo como "mira que listo, quiere usar su propio archivo, yo a este le tengo que cobrar servicio de servidor dedicado"  XD

¡Así pasa con el cochino dinero!  :'(

2180
Suena difícil, porque los típicos hospedajes gratuitos tienen muy definido qué permiten al usuario correr y qué no.   Ellos deciden qué scripts se ejecutan (generalmente están listados en las características del servicio). No sé si es posible encontrar un proovedor que te permita correr un ejecutable propio en su servidor.

Quizás cuando tengas una demo jugable, puedas ofrecer un trueque, publicidad en tu juego para quien te permita alojar el servidor.

2181
Oh. Muy interesante. Nunca he usado árboles, pero al ver que makero Mgbu mencionó que quiere usarlo para implementar menús, me entró la duda. Una pregunta para Mgbu ¿a qué te refieres con switches? Quizás es lo que se me ha ocurrido, pero no lo sé. Por favor miren mi diagrama

Ahí los índices están en binario. El valor entre paréntesis es el valor en decimal del índice. No estoy seguro si esto facilitaría su implementación o al contrario, la complicaría. Por ejemplo, lo que menciona Texic de traducir  1_2_1 con funciones de strings, podría hacerse así

101 = 6 = F

Mediante una conversión binario a decimal. El detalle es... que por ahora no tengo idea de cómo implementar algo así. Me ha surgido el interés por las operaciones binarias y bit a bit, pero no tengo idea de cómo hacerlas en GM

No sé si Texic podría echarme la mano con un script. ¿Usar los índices binarios traería ningún beneficio o es mejor olvidarse de la idea?

Gracias
2182
Citaresto dice que las caracteristicas del objeto son sus instancias

las características del objeto son las cosas que hacen que un objeto no sea otro. Como dice el makero ferhand, un objeto silla tiene cosas únicas que lo hacen ser silla (si es que el programador lo define adecuadamente). Lo que caracteriza al objeto pared, es que se comporte como una pared. Lo que caracteriza al objeto bomba, es que se comporte como bomba, etc.

Citarcomo el sprite:index, o las variables escritas en el, cierto? es eso lo correcto?

Sprite index o las variables que creas son PROPIEDADES DE LA INSTANCIA. Una instancia es una ENTIDAD a la que el objeto le hereda o le asigna un comportamiento. Fíjate, por ejemplo, que cuando hay una colisión, las funciones como collision_rectangle, collision_circle, etc devuelven la ID DE LA INSTANCIA, no del objeto.

Ojo, no quiero armar polémica, pero insisto en que una instancia NO ES una copia del objeto, según el manual de GM. Un vendedor es un REPRESENTANTE o ENTIDAD que se apega y se comporta siguiendo el lineamiento de su empresa, él se adhiere a las políticas de su empresa, pero NO ES UNA COPIA DE LA EMPRESA NI DEL REGLAMENTO DE LA EMPRESA. Igual pasa con los objetos y sus instancias.

Tambien aclaro que por si acaso, soy hombre.  XD
2183
Emm... en realidad, NO.

Es una muy buena pregunta, Fatalfury. Hay que aclarar una cosa, elemental y fundamental para cualquier makero. Un objeto no es lo mismo que una instancia. Estos dos conceptos suelen confundirse entre sí, incluso puedes llegar a terminar exitosamente tu juego, tratando ambas como la misma cosa, pero no lo son. Dependiendo de CÓMO programes o cómo quieras desarrollar cierto script, el no entender la diferencia, te puede llevar a quebraderos de cabeza (a mi me pasó). Intentaré explicar la diferencia, a ver si puedo.

Un objeto es un elemento "ideal" que posee un conjunto de características y cualidades que describe o define a otro elemento ( su(s) instancia(s) ). Es como una plantilla o un molde a partir del cual "salen" sus instancias. Si quieres que en tu juego, al personaje lo persigan 10 zombies, no es eficiente crear 10 objetos distintos, cada uno con una instancia. Es mejor crear un solo objeto zombie, con 10 instancias. Las instancias son entidades o REPRESENTACIONES FÍSICAS (hablando virtualmente) del objeto zombie. El objeto describe a su instancia, la instancia no describe a su objeto, lo representa

Cuando en el editor de rooms colocas un objeto, o cuando escribes instance_create(), en realidad estás colocando una instancia o representación del objeto. Esto indica que los objetos no pueden "interactuar" directamente con el mundo, sólo sus instancias.

No puedes cambiar ninguna variable de ningun objeto. LOS OBJETOS NO PUEDEN TENER VARIABLES. Cuando en game maker escribes algo como x += 5. No estás cambiando la variable del objeto, estás cambiando la variable de la instancia. Eso sí, puedes tener más de una instancia, cada una con coordenadas distintas.

No puedes manejar ni directa ni individualmente el evento de una instancia. LAS INSTANCIAS NO MANEJAN EVENTOS. ¿Si tuvieras 100 instancias de zombies, ¿te imaginas tener que especificar el evento step para cada una? Los objetos son quienes manejan eventos. Las órdenes en los eventos de un objeto se transfieren a sus instancias, no a la inversa (porque no es posible)

El alcance de los objetos es definir qué cosa son sus instancias y cómo se comportan a través del tiempo. La instancia hace lo que queda pendiente: representar "físicamente" en pantalla al objeto e interactuar con instancias de otros objetos. A ver si se entendió  :-[
2184
Lo que puedes hacer es "separar" tu sprite de ataque. Haces un sprite con el personaje realizando el movimiento de atacar. Haces otro sprite con la espada haciendo el ataque, y lo colocas cerca del sprite del personaje. Aquí habría dos instancias, el personaje y la espada.

O puedes mantener el sprite del personaje + la espada que ya tienes, pero agregar una máscara de colision que cubra o rodee la espada, para controlar cuanto rango de ataque tiene. También tendrías dos instancias, la del sprite con la espada y la de la máscara de colisión.

2185
La diferencia es que uno se ejecuta primero que el otro.   ;D

De los tres, el STEP normal es el más usado, pero puedes usar BEGIN STEP por ejemplo, para asegurarte que ciertas cosas pasen antes que otras cosas, y que después pase algo más en STEP, y que después ocurra algo más en END STEP.

Después de que el juego se crea (GAME START), el orden de eventos es (sacado de wiki)

Create Event (una vez)
Begin Step
Alarm 0
Keyboard and mouse
Keyboard and mouse press
Keyboard and mouse release
Step
End Of Path
Outside room
Intersect Boundary
Collision events
End Step
Draw
Animation End

Es interesante ver que las colisiones se evalúan ANTES que END STEP, por lo que tu código puede funcionar bien en STEP y no en END STEP, o viceversa. A mi esto me ocurrió y no sabía por qué motivo pasaba.  ???
2187
mmm creo que sí, si es que entiendo lo que quieres hacer.

Me imagino que ya tienes el código que hace que al presionar una tecla, muestre el ataque. En ANIMATION END pondrías algo como

sprite_index = sprite_parado      //Cambiar al sprite que muestra al personaje parado
image_index = 0                          // Para asegurarte que comience desde la primer subimagen


Bueno, no sé cómo es tu juego, pero ten en cuenta que despues de que termine el  ataque, el personaje puede quedarse parado, o puede estar caminando, si es que presionas las teclas de movimiento. Así que tienes que meter un IF en ANIMATION END para saber si se va a mostrar la animación de estar de pie o la de estar caminando.
2188
Bueno, el nombre es bastante descriptivo.

Sirve para ejecutar código que sólo quieres que se ejecute justo cuando se termina de reproducir un sprite

funciona de manera similar a otros eventos, sólo que no se va ejecutando paso a paso como STEP o DRAW

Por ejemplo, si quieres que un objeto "viva" lo que dura una reproducción de su sprite, pones esto en animation end



if instance_exists(mi_objeto)
{
    instance_destroy()          //Destruir instancia una vez que alcance el último fotograma.
}


Otro ejemplo sería controlar desde cuál subimagen se vuelve a reproducir un sprite. Por ejemplo, imagina que tu personaje tiene una animación para correr, pero las primeras 5 subimágenes del sprite de correr, muestran al personaje tomando vuelo hasta empezar a correr.  Ese movimiento sólo quieres reproducirlo una vez, se vería raro que en cada ciclo el personaje volviera a tomar vuelo. En el evento ANIMATION END pones

if sprite_index == corriendo
    image_index = 5


Cuando el sprite termine, y si sigues presionando la tecla de avanzar, el sprite se reproducirá desde la subimagen 5, y no se verá la acción de tomar vuelo.
2189
Pero de que va el juego? ¿Vas a controlar a Leonardo Di Caprio?  XD

Si dices que es muy triste, ya se intuye que o mueres (salvando la vida de alguien más) o sobrevives pero pierdes a alguien valioso... o que todos mueren.  XD

Yo me defiendo dibujando, lo malo es que estoy ocupado a full en mi proyecto. Si el tamaño en pantalla no es grande, o necesitas dibujos pequeños, podría colaborar como dibujante de apoyo o secundario. El dibujo de mi banner lo hice yo. Me gustaría hacer voces, o colaborar con efectos de sonido). Buena suerte

2190
Puede ser que destruyas la instancia antes que termine su reproducción.

En el evento ANIMATION END del objeto polvo, prueba el código

if instance_exists(ob_polvo)
{
    instance_destroy()          //Destruir instancia una vez que alcance el último fotograma.
}

para controlar la velocidad de reprodución sólo tienes que modificar la variable

image_speed = valor

Valores mayores a 1 aumentan la velocidad de reproduccion, valores menores que 1, la ralentizan. Prueba con 0.5 por ejemplo.