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 asçí estamos más cerca entonces 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 |