![]() |
como crear mas de un objeto - Printable Version +- Tilengine - The 2D retro graphics engine forum (http://tilengine.org/forum) +-- Forum: Foros en español (http://tilengine.org/forum/forumdisplay.php?fid=5) +--- Forum: Soporte (http://tilengine.org/forum/forumdisplay.php?fid=8) +--- Thread: como crear mas de un objeto (/showthread.php?tid=501) |
como crear mas de un objeto - Hokuto40 - 03-22-2020 Hola Megamarc,espero que tu y tu familiia esteis bien con lo que esta pasando. Estaba otra vez con otro intento de hacer algo con tilengine haber si por fin consigo algo y al crear una clase la llame 3 veces para que se creen tres objetos pero solo sale uno y no entiendo que es lo que pasa,tal vez habra que usar listas y guardar los objetos hay pero no se como. Te agradeceria que me pusieras un pequeño ejemplo de como crear tres objetos con la misma clase,te pongo un ejemplo. Code: class jugador(object): RE: como crear mas de un objeto - megamarc - 03-22-2020 Hola Hokuto! Gracias por tu interés. Aparte de tener que estar encerrados en casa y no saber qué va a pasar, afortunadamente ningún familiar cercano ni yo estamos contagiados -que sepamos-. Tu bien? Estás en Argentina? Te comento el problema de tu ejemplo: en tu código referencias de forma constante a motor.sprites[0] y motor.animations[0], con lo que aunque crees 3 instancias, todas ellas utilizan el mismo sprite y la misma animación. Cada instancia debe usar un índice diferente, que puedes obtener cómodamente con motor.get_available_sprite() y motor.get_available_animation() Code: class jugador(object): Luego en el resto de la clase debes utilizar los self.sprite y self.animation obtenidos previamente. Otro punto que puedes optimizar, es la carga de recursos: cada vez que creas la clase, cargas una copia nueva de "hero" y "hero.sqx". Sería mejor cargarlos una sola vez en algún init() global, y luego simplemente referenciarlos. Espero haber aclarado tus dudas! RE: como crear mas de un objeto - Hokuto40 - 03-23-2020 Jejejejeje,¿porque piensas que estoy en argentina?,soy español y estoy encerrado en casa como tu. ![]() Te pongo el codigo para ver si lo estoy haciendo bien,aunque se te olvido decirme que esas variables sustituian el numero 0. Code: import tilengine Lo que comentas para optimizar el codigo creando un init() global no lo he entendido,me podrias poner un ejemplo con este mismo codigo que te he puesto. RE: como crear mas de un objeto - megamarc - 03-24-2020 Supongo que como una vez me hablaste del Pilas Engine, que tiene base en Argentina, me debí quedar con eso ![]() Lo de los recursos globales no tiene mucha historia, simplemente que en vez de cargarlo dentro de la clase, se carguen fuera y pertenezcan a un objeto que sólo se inicializa una vez -o incluso que sean globales, sin pariente-. Así luego ya no hay que volver a cargarlos cada vez que se crea una nueva copia del objeto. De la misma forma que creas "engine" y "ventana" una sola vez al principio y luego los vas usando, pues los recursos también los cargarías ahí. RE: como crear mas de un objeto - Hokuto40 - 03-24-2020 Vale,ya entiendo lo de los recursos,es algo en lo que no me habia fijado.Gracias por la ayuda ![]() RE: como crear mas de un objeto - megamarc - 03-26-2020 De nada! Un placer, espero que puedas ir avanzando |