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

1501
Cita de: empardopo en Junio 13, 2014, 07:36:17 AM
Penumbra, y cómo va esa idea tuya? Se me había pasado tu post y también la veo muy interesante egoistamente hablando ya que estoy empezando ...

Mi sitio está en construcción, apenas he empezado a subir un par de tutoriales, pero no voy a aprovecharme del hilo de Slade para hacerme publicidad, te envío el link por MP, jeje.

1502
Propuestas y soporte / Re:juego de CMG
Junio 14, 2014, 12:01:12 AM
Lamentablemente no es la primera, ni la segunda vez que presencio lo mismo en la comunidad....  :-[ Cada quien tiene sus proyectos y a menos que una milagro ocurra, eso llama más que estos "arranques" de proyectos comunitarios

1503
Preguntas y respuestas / Re:sistema de ataque?
Junio 13, 2014, 07:49:39 PM
Desarrolla tu sistema de combate ANTES EN PAPEL

Sólo cuando tengas cada formula bien definida (ataque, fuerza, daño, defensa, agilidad, aumento de nivel, etc, etc.) lo pasas a codigo.

Para simular el porcentaje de acierto de un crítico:

prob_critico = 10                            //  1/10 de probabilidad (En mi experiencia 1/10 es bastante alto para el comienzo del juego, pero aquí cada quien lo ajusta a su gusto)
critico = 0                                     //  1 = se puede hacer daño crítico; 0 = no hay daño crítico

if (irandom_range(1, prob_critico) == 1)    // el número a la derecha de == puede ser cualquier número del 1 al 10, la probabilidad es la misma.
     critico = 1                   
else
     critico = 0

//formula hipotética de ataque, sólo para propósitos ilustrativos:
ataque = str + bonus_str + atk_arma + critico*(str - luck)



1504
Preguntas y respuestas / Re:Usar un mando.
Junio 13, 2014, 07:10:36 PM
Según el manual de GM:S, las funciones "Joystick" son para dar soporte a versiones antiguas (si vienes de GM 8, 7, etc)  "As such, they may not work correctly on modern PC's." (por lo tanto, podrían no funcionar en PCs modernas) Yo pienso que deberían funcionar en la mayoría de los casos, pero también hay funciones nuevas, que creo van mejor con controles mas modernos como los de la xbox o el ps3

http://docs.yoyogames.com/source/dadiospice/002_reference/mouse,%20keyboard%20and%20other%20controls/gamepad%20input/index.html

Cita de: Marth en Junio 13, 2014, 03:44:48 PM
Vale, ya he podido sacar provecho en mis juegos de los mandos de videoconsola, pero veo ahora nuevos inconvenientes:
Cuando quiero ordenar que se pulse un botón del mando joystick_check_button(mando,botón),  en la sección botón tengo que poner un número (del 1 al 32) y no se hasta que pruebo el juego que botón es cada numero, ¿alguien tiene un documento en donde se indique a que botón se corresponde cada número?

Generalmente los botones estc0n en orden. Es decir, si tu mando tiene 8 botones, son los 8 primeros. Pero intenta esto:

Ve a panel de control (yo tengo windows 7), elige Dispositivos e impresoras. Ahí debería aparecer tu mando, haz click derecho sobre él y elige Configuración del dispositivo de juego. Aparecerá una ventana, en ella haz click en el botón Propiedades. Ahí aparece esto:




1505
No entiendo por qué quieres asignarle un identificador aleatorio a cada carta. Significa que por ejemplo, si hay una carta perro, ¿una vez su identificador puede ser 100 y otra vez puede ser 80? Creo que lo mejor sería que cada carta tuviera su identificador único, pero constante...
1506
Cita de: empardopo en Junio 13, 2014, 07:51:17 AM
Y hablando de IDs.
Entonces si en pantalla tengo múltiples instancias de un objeto, por ejemplo, obj_enemy. ¿En un momento dado cómo sé cual de todos es por ejemplo el que ha colisionado con mi personaje?

precísamente, por eso es muy útil el ID de la instancia y la palabra clave other. Un método podría ser, en el objeto jugador, poner un evento de colisión contra obj_enemy, y en ese evento enemigo = other.id

En este caso, other es la otra instancia (estamos dentro de obj_player), es decir, la instancia enemiga, de la cual leemos su ID de instancia y lo guardamos en la variable enemigo. Para que esto funcione el evento de colisión se debe manejar en el jugador, si se hace en el enemigo, "other" sería el jugador, y conocer la id del jugador no tiene mucho sentido en un juego donde sólo hay un jugador.

Otro método es usar una de las funciones de colisión, que devuelven la id de la instancia contra la que se colisiona (collision_circle, collision_rectangle, collision_point, etc)


1507
Cita de: DarkKRuleR en Junio 13, 2014, 01:11:59 AM
pregunta: cuando asigno un objeto a una variable... aquello que se guarda en esa variable qué es? el id? el objeto?

Andas un poco enredado. En el sentido estricto, los objetos no se asignan a las variables, lo que se guarda en la variables puede ser o el índice del objeto (poco usado) o el identificador de instancia id (más usado y más útil generalmente). Funciones como instance_create e instance_nearest lo que devuelven es el id de la instancia

Cita de: DarkKRuleR en Junio 13, 2014, 01:11:59 AM
Luego, si quiero comparar esa variable con un objeto qué debo hacer...
Una variable no se puede comparar con un objeto, son cosas distintas, como comparar una cadena con un número real o peras con manzanas. Lo que se compara es el id(almacenado en la variable) de una instancia contra el id de otra instancia

Si variable contiene una id de instancia, entonces tanto

if (variable == objPersonaje) como if (variable.id == objPersonaje)

no son sentencias del todo correctas. Una instancia no es lo mismo que su objeto, las instancias tienen ids y los objetos tienen índices de objeto, y ambos son cosas distintas. El segundo caso, variable.id creo que es lo mismo que variable (ambas cosas apuntan al mismo id), pero objPersonaje no es una instancia.

Creo que al final quieres comparar instancias, pero algunos conceptos los tienes mezclados. ¿Qué quieres hacer en tu juego?


1508
No es estrictamente necesario saber dónde se crea el INI para que funcione, porque GM:S tiene áreas definida para la lectura y escritura del ini y éstas no se pueden cambiar. Acá los detalles
http://docs.yoyogames.com/source/dadiospice/002_reference/file%20handling/file%20system%20limits.html

Tampoco hay un evento o lugar especial para poner "los códigos", se puede leer/guardar un ini en casi cualquier evento, dependiendo de la funcionalidad que quieres implementar. Obviamente hay que tener cuidado (como con muchas otras funciones) cuando se usa en STEP, pues si no se usa la condición correcta, el ini puede leerse, crearse o escribirse en cada paso, provocando ralentizaciones, fugas de memoria, etc.
1509
Preguntas y respuestas / Re:Funciones similares
Junio 12, 2014, 07:46:37 PM
Esas definiciones creo que son de las versiones del GM8, 7, 6 , etc. La explicación en el manual del GM:S es más clara. Precísamente hemos comenzado a hacer la traducción de las funciones de movimiento y colisión, en pocos días deben de estar listas.
1510
Preguntas y respuestas / Re:tiempo en espera?
Junio 12, 2014, 01:43:58 AM
30 milisegundos?  :o
1511
Preguntas y respuestas / Re:Funciones similares
Junio 11, 2014, 11:21:17 PM
Pero no es ningún misterio, la diferencia se explica en el manual (para estas y para cualesquiera otras funciones "similares")

place free sólo se ocupa de colisiones contra instancias marcadas como sólidas, place_empty revisa colisiones contra lo que sea (sólido o no)


1512
Cita de: chute666 en Junio 10, 2014, 09:52:56 AM
...solo k en ved d virtual key add e puesto keyboard osea esa opcion... y nose k estoi aciendo mal...

¿Cómo? ¿Quieres una tecla virtual pero cambias virtual_key_add por keyboard? virtual_key_add sirve para mapear cualquier tecla, no solamente teclas de dirección.

virtual_key_add(x, y, w, h, ord('P'));
1513
Cita de: empardopo en Junio 11, 2014, 07:13:29 AM
Muy interesante.
J.E.A, a qué te refieres con lo de un font de Sprite por letras? Te has creado un sprite para cada letra del teclado?
Penumbra, muy chulo mostrar el ejemplo en un spoiler. ¿Qué enlazas un fichero de video?
Gracias

Graciasm es sólo un gif animado  8). Me voy a permitir responder lo de la sprite font:  es un sprite con muchas subimágenes en un orden específico:



siguiendo la numeración de la tabla de caracteres ANSI. En GM usas la función font_add_sprite() para crear una fuente que luego puedas usar. Son útiles para cuando quieres mostrar en tu juego  un tipo de fuente en específico, sin preocuparte de si el usuario tiene o no esa fuente instalada en su sistema, también a la fuente se le pueden agregar efectos como borde, sombra, gradiente, etc, ya que se trata en realidad de una imagen, lo malo es que es tedioso hacer el juego de caracteres a mano, aunque hay programas precisamente para hacer font sprites de manera automática.
1514
sólo tienes que declarar tu sprite font en CREATE y especificarla en DRAW en lugar de "fontie".
1515
Como lo estás planteando es algo complicado

Si usas draw_text(10, 10, "H");, luego tendrás que usar draw_text(10, 10, "HO") y luego draw_text(10, 10, "HOL") y luego draw_text(10, 10, "HOLA"); también es algo rara la manera en como usas la alarma.

Yo lo hice así:
en [CREATE]
cadena = "hola"
mensaje = ""
alarm[0] = room_speed * 0.6
longitud = string_length(cadena)
pos = 1     
             

cadena es el la palabra o frase final, mensaje es una cadena que en cada evento de alarma se le agrega un caracter para ir formando la frase final. longitud es la longitud en caracteres de la frase final, pos indica la posición actual dentro de cadena

en [ALARM 0]
var muestra;

if (pos <= longitud)
{
    muestra = string_copy(cadena, pos, 1)
    mensaje += muestra
    pos += 1
}

alarm[0] = room_speed * 0.6


en [DRAW]
draw_set_font(fontie)
draw_set_color(c_white)
draw_text(100, 150, mensaje)



[spoiler][/spoiler]