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

136
Preguntas y respuestas / Re:ayuda llamar a objetos
Marzo 24, 2014, 12:50:51 AM
Lo que te entiendo:
1) Deseas un objeto que cree items por toda la room.
2)Debe haber solo un item en el room a la vez.
3)Cada vez que este item es tomado por el jugador debe crearse otro item.
4)Cada vez que item se cree en el room debe ser diferente.
Ejemplo:
*item1 dara 1000 puntos.
*item2 dara invicibilidad.
*item3 dara velocidad.

De ser asi prueba con lo siguiente:
-crea un objeto spawer
-crea los objetos item, en mi ejemplo use tres: item1, item2, item3

Evento Create Objeto Spawner
alarm[0] = 1;

Evento Alarm0 Objeto Spawner
instance_create( irandom( room_width ), irandom( room_heigth ), choose( item1, item2, item3 ));
//la linea de codigo de arriba debes leerla de la siguiente forma: crear una instancia (objeto) en una posicion X aleatoria de entre 0 y el valor del largo del room, una posicion Y aleatoria entre 0 y el valor del ancho del room, del objeto que la funcion choose  escoja (devuelva)

Evento Destroy Objetos item1, item2, item3
with ( obj_spawner )
        {
          alarm[0] = 30;
         }
          // esto hara que se cree otro item despues de un segundo que el item actual haya sido tomado.
Si no entiendes y necesites un ejemplo avisame.
O si no es lo que tu deseas por favor indicame.
137
Preguntas y respuestas / Re:ayuda llamar a objetos
Marzo 23, 2014, 02:03:48 AM
Hola compañero, bienvenido!

Para que te podamos responder debes primero ampliar o explicar un poco mejor tu pregunta.

Citar...pero quiero agregar mas objetos con diferentes objetos pero que solo salga uno en pantalla...
Te refieres a un "spawner"?

Citar... y no que se llamen todos a la vez...
Las instancias de los objetos se crean no se llaman.
138
Preguntas y respuestas / Re:Licencias
Marzo 22, 2014, 03:46:52 PM
CitarCan I apply a Creative Commons license to software?
We recommend against using Creative Commons licenses for software...
... ourlicenses, which do not make mention of source or object code,...
... CC licenses may be used for software documentation, as well as separate artistic
elements such as game art or music.
http://wiki.creativecommons.org Frequently_Asked_Questions#Can_I_apply_a_Creative_Commons_license_to_software.3F

Me parece que podras licensiar tu graficos y en tu caso el uso de las musicas.
Pero con Creative Commons no se licensia el codigo.
139
http://www.comunidadgm.org/articulos/la-calidad-de-los-videojuegos-y-el-conformismo-(dise241o)/

No digo que sea el caso del compañero.

Aveces se nos olvida que cuando hacemos un juego debemos tener en cuenta nuestras habilidades porque es nuestro juego por tanto es nuestra responsabilidad.
140
Preguntas y respuestas / Re:Error con variables
Marzo 16, 2014, 08:37:25 PM
Te he creado un ejemplo.
Espero te ayude.
https://www.dropbox.com/s/4bqsffh376pnihs/nivel_desbloqueado.gmz
Saludos!
141
Siempre habra que hacer ajustes, pero en mi opinion el GM:S Standard + update 1.3 le patea el trasero al GM 8.xx!
142
La principal razon de la eliminación de ciertas funciones es que el GM dejo der ser exclusivo del Windows y las funciones eliminadas solo se pueden usar en Windows, osea con GM:S ganamos la posibilidad de crear juegos para otras plataforma, Android, IOS etc ha costa de un pocas funciones.

Apoyo tu desicion de tratar de pasar la creacion de todo juego al GM:S. Tu juego es algo cpu y gpu intensivo y con el GM:S tendras mas opciones para calibrar su perfomance.

message_background: no tengo respuesta

object_set_parent: tal vez con un instance_change y osea cambiar de objetos y cada objeto tenga un diferente parent (aunque debe haber un script en la web)

show_message_ext http://www.comunidadgm.org/preguntas-y-respuestas/ayuda-con-codigo-para-monstrar-mensaje/
143
Lo que creo que vayas a lograr con el frameskip va ha ser minimo. En mi opinion el frameskiping es válido si tu juego va ser ha un multiplayer online.

Tienes razon, un juego compilado siempre va ha correr un poco mas rápido que cuando lo corremos dentro del GM y es algo a tomar en cuenta.

En mi opinión, es mejor tratar de crear tu juego de tal manera que al GM le "quede mas fácil" y de este forma evitamos bajonazos en el perfomance del juego.

En los link encontraras algunos consejos de como optimizar tus juegos cuando usas GM
http://www.yoyogames.com/tech_blog/30

http://forums.tigsource.com/index.php?PHPSESSID=027da815826a51caca152485666d2151&topic=3747.0


Saludos!
144
El ejemplo que mencionas del manual del GM yo tambien lo vi. Considero que deberias desarrollar tu frameskiping apartir de ese código, es mas sencillo de leer que el que haz posteado aquí por consuguiente mas facil de modificar.

Ahora, se ha que te refieres con tu pregunta, es mas cuando se usa el debugger se aprecia claramente que cuando el GM inicia o entra en un room, los steps bajan hasta casi 0, afectando los fps. La unica posible solucion que pienso es la de usar una alarma. Esta alarma iniciaria con el frameskiping o crea el objeto que controla el frameskiping dandole oportunidad al GM a que "tome velocidad".
Aunque no se si sera la mejor manera, dado que hay calcular "a mano" esta alarma.

La otra forma seria iniciar con el frameskiping en el Evento Room Start del objeto que controla el frameskiping.
145
++ o_draw

es lo mismo que:

o_draw += 1

Osea incrementar la variable o_draw en 1.

Por tanto...

if (_doDraw < _frameskip) { ++_doDraw; } else { _doDraw = 0; }

seria:
-Si _doDraw es menor que _frameskip entonces a _doDraw se le incrementara 1 al valor que tenga en ese momento, sino _doDraw sera 0.


_doDraw es una variable booleana, osea que solo puede ser false o true, y en el GM toda variable que tenga un valor mayor a 0.1 sera considera true y toda variable con un valor de 0 sera considerada false.

Lo que entiendo del codigo es que el evento Draw sera permitido solo si la variable _doDraw tenga valor de 0, osea que sea false.

draw_enable_drawevent(_doDraw == 0);
146
Que le estas indicando al GM cuando pones lo siguiente:
vspeed = -8

Bueno, que mueva la instancia 8 pixeles hacia arriba y el GM movera esa instancia un pixel por step hasta llegar a -8.

Y con esto

{vspeed=-8*(global.d)};

Bueno si el room_speed es 60, entonces el resultado de la expresion -8*(global.d) seria -16, por tanto el GM movera la instancia -16 pixeles hacia arriba, y lo hara un pixel por step.

Ahora lo que tu codigo hace es aumentar LA DISTANCIA del salto dependiendo el room_speed, y no la velocidad del salto.

Y aunque vspeed nos supondria como la velocidad vertical en realidad indica una distancia y el tiempo que le tome a la instancia en recorrer esta distancia depende del room_speed, porque entre mas alto sea el valor del room_speed mas cantidad de steps por cada segundo habra y recuerda que vspeed mueve la instancia un pixel por step hasta llegar al valor indicado.
147
General / Nuestras amigas: Las Funciones
Marzo 12, 2014, 05:09:47 AM
Al navegar por la sección de preguntas y respuestas del foro, me doy cuenta que la gran mayoría de preguntas se solucionan con el uso práctico de funciones, osea la solución era usar tal función en conjunto con las variables de quien realiza la pregunta.

Bueno, el no uso y mal uso de las funciones del GM es algo común en las primeras etapas. Y esto lo se, porque cuando yo inicie con el GM, yo no tenia ningun conocimiento de lógica para computación.( eso que nos ayuda a crear lindos algoritmos ) Por tanto, se que la mente de una persona que usa el GM en esa etapa y no tiene conocimientos en programación, es el de tratar de crear su algoritmo ( código ) practicamente desde cero. Lo cuál no esta del todo mal, pero si se desea avanzar y sacar "el jugo" al GML, debemos inicialmente incluir el uso de funciones de una forma más habitual y progresiva.

Como ejempo tomo la siguiente pregunta, realizada por [user] _-Caleb-_[/user] : "Boundary Views..¿ Que estoy haciendo mal?
http://www.comunidadgm.org/preguntas-y-respuestas/boundary-views-que-estoy-haciendo-mal/msg94227/#msg94227

En ella el compañero deseaba una manera que los enemigos se empezarán a mover solo si se encontraban dentro de la view.
Una de las respuestas fue de [user]ivn_eze[/user], ( lo siento serás mi conejillo de indias ;D ) y de forma general proponia lo siguiente:
"poner objetos cuadrados y trasnparentes del tamaño de la room a los objetos y al jugador, y que el que tuviera el jugador lo siguiera y cuando este objeto colisionara con algun otro objeto se empezara a mover"

Aunque la respuesta para mi es muy ingeniosa e imaginativa, es algo complicada.
El problema aqui es que se puede lograr lo mismo y algo mas con el siguiente código, que como observarás esta formado con dos funciones:
{
instance_activate_all();
instance_deactivate_region(view_xview[0],view_yview[0], view_wview[0],view_hview
[0],false,true);
}


Aclaro:
Yo fue quien posteo el código de arriba como respuesta y este ejemplo NO ES para vanagloriarme ni mucho menos, si no para que te des cuenta de como aveces pensamos y hasta nos complicamos cuando no usamos funciones.
Porque, repito, el pensamiento que realiza [user]ivn_eze[/user] es sumamente ingenioso, pero te pregunto: que pasaria si combinaramos este ingenio con las funciones pre-fabricadas del GM?
El cielo es el limite!

En gran medida este "desperdicio de habilidad" sucede por algo que [user]penumbra[/user] ha repetido varias veces: no leemos el manual del GM! (de donde crees que saque mi respuesta!)
Porque tal vez no lo creas pero en el encontraremos pequeñas llaves con las que, en la mayoria de veces, podemos abrir esas puertas que bloquean la creación de nuestro juego.

CitarDado que el GM tiene tantos años de haberse creado, muchas de las posibles situaciones que podamos enfrentarnos en la creacion de un juego, ya han sido de una manera solucionadas por otras personas. El codigo que he puesto es de esos codigos ( smart codes ) que deben estar en el block de notas de todo usurio del GM.
Date cuenta que al contrario de los graficos o el sonidos, el codigo puede y debe ser reutilizado y tampoco es necesario que sea 100% creado por uno mismo.
Para mi, tu dominio del GML dependera de cual habil seas en combinar funciones con las estructuras de control ( if, switch, while, do-while, for, repeat) "sazonandolas" con elementos de Programacion Orientada a Objetos ( principalmente herencia ).

Me gustaría agregar mas ejemplos, pero no me gusta hacer los temas muy largo, así que si deseas poner un ejemplo que demuestre el poder de las funciones eres libre de hacerlo.
Saludos!
148
Preguntas y respuestas / Re:Sistema de puntuación
Marzo 11, 2014, 11:46:18 PM
Trata con esto:

Crea un Evento Room Start al obj_huevo y pon x = 0; en ese evento.
149
Preguntas y respuestas / Re:Movimiento con el raton
Marzo 11, 2014, 11:40:12 PM
Me alegra haberte ayudado!  ;D
Saludos!
150
Preguntas y respuestas / Re:Movimiento con el raton
Marzo 11, 2014, 11:29:47 PM
Trata con

move_towards_point( mouse_x, mouse_y, 2 ) // el 2 lo cambias por la velocidad que ocupes.