Hola makeros como les va.
Tengo distintos enemigos en la room , como hago para activar y desactivar la instancias fuera de la view.
Gracias
Utiliza las funciones instance_activate_region e instance_deactivate_region con las coordenadas y dimensiones de la view como la región a activar/desactivar.
Hola gracias Guacusio, digamos en que evento utilizaria estos codigos ,
no se adonde ponerlos :'( :'(
edito : con esto me ahorro memoria o no .
Gracias
Más que memoria te ahorras uso de CPU ya que la memoria que utilizan las instancias desactivadas no es liberada pero sí se ignora el código de todos sus eventos y el dibujo de su sprite. Si la view se mueve permanentemente, tendrás que usar esas funciones en step ya que puede haber instancias que en cualquier momento entran o salen del view. El ejemplo del manual para instance_activate_region debiera servirte:
instance_deactivate_all(true);
instance_activate_region(view_xview[0],view_yview[0],view_wview[0],view_hview[0],true);
Ese código debiera ir en un objeto controlador en el evento step.
Lo que más impacta en el consumo de memoria es el uso de recursos/asstes.
Tu juego puede usar cientos o miles de variables y eso apenas impactará en el uso de RAM, en cambio, unos cuantos sprites/fondos de tamaño grande ocuparán una cantidad considerable de RAM, los temas musicales también consumen no poca RAM.
Estoy trabajando con tiles y unas rooms de 31000 aproximadamente unas 300 instancias en cada room
Luego en total hay 11 niveles de 300 instancias .
Y los rooms de 31000 cada uno
Es por eso que quiero que la memoria no use mucho
Gracias
y según el debugger, ¿cuánta memoria está consumiendo el juego cuando estás en una habitación jugable?
Pues la.verdad no lo se , solo vi de entrada sin meterme a ningun lado me decia como 24 megas pero el debugger me lo tira en kilobyte lo estoy redondeando
Gracias
Cuanto seria lo normal por habitacion segun un calculo para que el juego no se pegue.
Gracias
24 MB es poco consumo en RAM.
Depende del dispositivo en donde se ejecute y del tipo de juego y su complejidad, pero mientras el consumo de RAM no se dispare por encima de los 200 o 300 MB, yo no me alarmaría. Igual hay que vigilar que el uso de CPU no sea alto.
Como saber el uso del cpu??? :'( esto es nuevo para mi
:'(
https://www.yoyogames.com/tech_blog/56
https://www.yoyogames.com/tech_blog/30
El segundo enlace ya lo habia visto me ayudo en algo pero lo del CPU no lo encuentro.
Gracias
Quizás te resulte más fácil de usar algo como
https://play.google.com/store/apps/details?id=com.bigbro.ProcessProfiler
en windows, el administrador de tareas trae información de cuánto CPU está demandando cada proceso.
Este app parece genial por ahora esto es lo que me arroja
Puse la aplicacion y corri el juego en un nivel 9 donde parece que se traba en android y el resultado fue este
Avg CPU 11%
Max CPU 38%
Net :0kb 158mb
Gracias por la app
Cita de: Guacusio en Septiembre 17, 2015, 10:02:54 PM
Más que memoria te ahorras uso de CPU ya que la memoria que utilizan las instancias desactivadas no es liberada pero sí se ignora el código de todos sus eventos y el dibujo de su sprite. Si la view se mueve permanentemente, tendrás que usar esas funciones en step ya que puede haber instancias que en cualquier momento entran o salen del view. El ejemplo del manual para instance_activate_region debiera servirte:
instance_deactivate_all(true);
instance_activate_region(view_xview[0],view_yview[0],view_wview[0],view_hview[0],true);
Ese código debiera ir en un objeto controlador en el evento step.
hize un obj_controlador_views y en el step le puse el codigo y lo puse en la room ahora hay un problema y es que cuando me muevo las cosas de la pantalla desaparecen osea las vidas tiempo etc.
tambien cuando muere el player no me reinicia y si le quito el objeto controlador si funciona todo
Gracias
Probablemente tienes alguna instancia que no tiene máscara de colisión o no está permanentemente dentro del view y que debe estar activa siempre. En ese caso tendrás que asegurarte de que siempre esté activa. Por ejemplo puedes modificar el código así:
instance_deactivate_all(true);
instance_activate_region(view_xview[0],view_yview[0],view_wview[0],view_hview[0],true);
instance_activate_object(objeto que dibuja las cosas de la pantalla);
Gracias GUACUSIO ;D no mas llegue a casa y lo boy a probar a ver si asi funka .
Gracias .