Tafs Posted February 24, 2013 at 02:42 AM Report #496817 Posted February 24, 2013 at 02:42 AM Olá. Tenho uma dúvida. Se tenho uma classe chamada Bala, por exemplo, há alguma forma de apagá-la usando o self.? Exemplo: class Bala: def __init__(self,x,y): self.x = x self.y = y Isso é para um jogo em pygame, no qual a bala segue uma determinada direção. Se eu quiser removê-la da tela, e apagá-la (assim não há espaço ocupado sem necessidade na memória), há alguma forma de fazer dentro da classe? Li em alguns lugares na internet que um del self só apaga a referência que o self faz para aquela classe (ou algo assim), e não é isso que quero. Quero apagar o objeto. Alguma dica? =)
eatg75 Posted February 25, 2013 at 06:23 PM Report #496963 Posted February 25, 2013 at 06:23 PM Tambem penso que nao, pois self e uma referencia do objeto dentro da classe, e em algum momento dentro do metodo de uma operacao invocares algo como : # (...) some code self.x = x self.y = y del self # so apagas esta referencia para o objeto nao o objeto em si Dentro da logica do teu jogo podes apagar a bala. Victarion seized the dusky woman by the wrist and pulled her to him. Victarion - She will do it. Go pray to your red god. Light your fire, and tell me what you see. Moqorro's dark eyes seemed to shine. Moqorro - I see dragons.
Tafs Posted February 26, 2013 at 08:10 PM Author Report #497145 Posted February 26, 2013 at 08:10 PM Sim, eu sei. No momento tenho uma função que detecta a posição das balas, e se passam da área da tela, elas são removidas de uma lista (e perdem todas as referências, virando lixo e sendo coletadas pelo GC do Python, se não me engano). Porém, estou tendo aulas em ActionScript 3, e em um determinado jogo observei que o controle da posição da bola era feito de dentro do objeto (com o this. do AS3). Naquele exemplo, a bola só mudava de direção, não era apagada. Me pergunto se teria como apagá-la em Python, de dentro do próprio objeto. Ou seja: o objeto se mata.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now