Comments (2)
Hola @jjconti
Respuesta corta: Es el comportamiento esperado.
Respuesta larga:
Es el comportamiento esperado, debido a que Pilas, internamente, sigue manteniendo referencia al actor previamente creado.
Cuando creas una nueva instancia de la clase Actor, Pilas hace algunos "trucos" de forma interna, por ejemplo, enlazar nuestro actor a la Escena Actual.
https://github.com/hugoruscitti/pilas/blob/develop/pilasengine/actores/actor.py#L142
https://github.com/hugoruscitti/pilas/blob/develop/pilasengine/actores/__init__.py#L161
En la Escena Actual mantenemos una lista de los actores existentes en dicha escena, eso permite que el actor creado siga referenciado, apesar de que la variable, a la cual cómo usuario lo referenciamos, apunte a otro objeto.
La forma correcta para eliminar un Actor en Pilas es:
mono = pilas.actores.Mono()
mono.eliminar()
Además, existe una funcionalidad para tener acceso a un actor, para el cual se perdió su referencia por el caso que mencionas. @hugoruscitti nos puede ayudar.
Saludos..
from pilas.
Efectivamente, como menciona @irvingprog, es algo esperado. Notamos que esto incluso está bueno, porque les permite a los chicos caer en la necesidad de "darle nombre" a los actores para poder modificarlos después (y por ende surge la necesidad de aprender acerca de referencias o variables).
Por otro lado, llegado el caso que se genere un actor en pantalla y se quiera recuperar la referencia, hay dos formas:
Desde el intérprete se puede abrir el panel de actores, ahí aparecen todos los actores en la escena, si haces click sobre alguno de ellos se va a mostrar en la pantalla de pilas que ese actor "parpadea" y en el intérprete se va a crear una referencia llamada "actor" para acceder a ese actor seleccionado:
Otra opción es usar la api de pilas directamente, por ejemplo, para obtener todos los actores
de la escena se puede escribir algo así:
pilas.escena_actual()._actores
Esa función te va a retornar un grupo, que se usa de manera similar a una lista en realidad.
PD: me gustaría que sea un poco más sencillo acceder a la lista de actores, y que no se acceda a "_actores" directamente de la escena (que es semi-privado digamos). Voy a armar un issue para mejorarlo.
from pilas.
Related Issues (20)
- No se puede insertar el carácter ']' en el editor HOT 1
- La versión para windows no se logra "desinstalar" completamente. HOT 1
- Error inicializando box2d -- 1.3.2 (rpm, fedora) y 1.4.3 (git) HOT 16
- Limpiar archivos del directorio /tmp al cerrar pilas
- Agregar un indicador que muestra la cantidad de interpolaciones HOT 1
- Agregando la posibilidad de detener un sonido o música gradualmente HOT 1
- Crear una función para forzar la inicialización del audio HOT 2
- Hacer configurable el atajo de teclado para aumentar texto HOT 1
- Mejorar las instrucciones de instalación de pybox2d HOT 5
- Corregir método inciar en el actor Texto
- Crear lanzador en Arch Linux
- Crear un evento llamado "luego_de_actualizar" HOT 4
- Crear un función para listar todos los actores de la escena actual
- Permitir que los actores se puedan espejar verticalmente
- Reparar areas de colisión y gráficos de depuración para actores fijos
- Imagen de Docker HOT 3
- Code Review: mejorar la calidad del código fuente
- No instala/funciona en Ubuntu 18.04 (Bionic Beaver): Qt bindings! :-(
- Hola HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pilas.