Consulta - Por ultima vez y me arreglo solo

Si tienes alguna duda sobre cómo usar pilas, o tienes problemas para instalar o hacer algo en pilas comentalo aquí.

Consulta - Por ultima vez y me arreglo solo

Notapor lukasgaleano » Lun Abr 18, 2011 4:46 am

Que tal gente, disculpen que sea tan molesto pero cuando me surge un drama soy así.

Mi consulta es como crear señales de selección de una actor, para así asignarle algún evento, es decir:

Quiero hacer que una bola de un grupo, sea seleccionado con el puntero del mouse y con la señal del click hacer que desaparezca, mientras este tenga el puntero encima.

Aquí un ejemplo de lo que he intentado hacer:
import pilas
pilas.iniciar()

class Winbola(pilas.actores.Actor):
def __init__(self, x=0, y=0):
pilas.actores.Actor.__init__(self, "winbola.png", x, y)
self.y = 200

def Presionado(Winbola):
presionado = True
print "En la Mira"

class Mira(pilas.actores.Actor):

def __init__(self, x=0, y=0):
pilas.actores.Actor.__init__(self, "cursor.png", x, y)
self.radio_de_colision = 10
self.aprender(pilas.habilidades.SeguirAlMouse)


a = Winbola()

b = Mira()


def senalar(a, b):
a.Presionado()

pilas.colisiones.agregar(a, b, senalar)

def boom(evento):
if (a.Presionado()):
a.eliminar()
print "bola eliminada"
else:
print "Fallaste"




pilas.eventos.click_de_mouse.conectar(boom)


Disculpen mi ignorancia soy nuevo en python y pilas.

Saludos
lukasgaleano
 
Mensajes: 19
Registrado: Lun Dic 06, 2010 6:57 pm

Re: Consulta - Por ultima vez y me arreglo solo

Notapor hugoruscitti » Lun Abr 18, 2011 2:13 pm

Hola lucas, antetodo por favor no te preocupes
por consultar, el foro es para eso... y los que
visitamos el foro queremos ver mas y mas preguntas
para ayudar.

Con respecto al ejemplo que colocaste, yo lo haría
un poquito diferente, si lo que quieres es hacer
que el actor pelota reaccione ante el click del mouse, podrías
modificar la función que se ejecuta al pulsar un click. No
hace falta la otra función.

Por ejemplo, la lógica sería así: si detecto un click del mouse
en la pantalla, veo si está justo sobre la pelota, y si lo está, la
elimino.

Modifiqué un poquito tu código para mostrar una
manera distinta de hacerlo:

import pilas
pilas.iniciar()

class Winbola(pilas.actores.Actor):
def __init__(self, x=0, y=0):
pilas.actores.Actor.__init__(self, "pelota.png", x, y)
self.y = 200

def cuando_la_seleccionan(self):
print "Me han seleccionado, a desaparecer..."
self.escala = [0]

class Mira(pilas.actores.Actor):

def __init__(self, x=0, y=0):
pilas.actores.Actor.__init__(self, "cursordisparo.png", x, y)
self.radio_de_colision = 10
self.aprender(pilas.habilidades.SeguirAlMouse)

a = Winbola()
b = Mira()

def cuando_se_hace_click(evento):
# Obtengo la posicion del mouse.
x, y = evento.x, evento.y

# Esta colisionando con la pelota?
if a.colisiona_con_un_punto(x, y):
a.cuando_la_seleccionan()


pilas.eventos.click_de_mouse.conectar(cuando_se_hace_click)
pilas.ejecutar()


Tu código anterior está muy bien, te felicito, solo tenía
ese detalle de la colisión, pero estába muy bien.
Avatar de Usuario
hugoruscitti
Site Admin
 
Mensajes: 1242
Registrado: Dom Jul 30, 2006 3:57 am
Ubicación: Buenos Aires, Argentina

Re: Consulta - Por ultima vez y me arreglo solo

Notapor lukasgaleano » Lun Abr 18, 2011 5:38 pm

Excelente Hugo Gracias!!!
lukasgaleano
 
Mensajes: 19
Registrado: Lun Dic 06, 2010 6:57 pm


Volver a Consultas, problemas o bugs.

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado

cron