[Tutor PyCZ] Pygame - zasahy a otočky (bylo:Re: Fw: HElP)

Pavel Kosina geon na post.cz
Sobota Říjen 7 21:21:39 CEST 2006


už asi vím:

petrik napsal(a):
> Zdravim...
>     Mno takze tohle je maly programek ..level editor...hore ma 
> aktivnou ponuku ..ale  mam problem ..je to na styl opicka ..ktera se 
> otoci kdiz na ni kliknu ..tyhle tlacitka se pozdeji nebudou tocit 
> ..jde jen o to abych se naucil zadavat udalosti pro vice objektu 
> ..nevim dat udalost vice nez jednemu objektu ..
>  
> takze problem je tady..
>  
> *#  Ošetrenie vsetkych vstupnych udalosti*
>              /     elif udalost.type == MOUSEBUTTONDOWN:
>                 if kurzor.trefa(opicka):
>                     zasahZvuk.play()
>                     opicka.zasah()
>                 if kurzor.trefa(kladivo):
>                     zasahZvuk.play()
>                     kladivo.zasah()/  
>  
> takze tlacitko je tam ale nereaguje na MOUSEBUTTONDOWN ...
reaguje, chyba je jinde.
1/ třída Kladivo nemá metodu zasah, tudíž to nemůže fungovat - 
doporučuji udělat
   - kladivo=Opicka(...), přičemž budeš předávat nejen název souboru, 
ale i souřadnice umístění
   - možná přejmenovat Opicka na Nastroj nebo tak něco, aby to 
odpovídalo realitě

2/ funkce kurzor.trefa(...) nefunguje správně, vrací něco jiného. Zkus 
dobře udělat bod 1/ a pak:
            elif udalost.type == MOUSEBUTTONDOWN:
                    opicka.zasah()
                    kladivo.zasah()  

A budou se ti točit oba dva nástroje. Jako mě ;-)
> ja bych chtel objekty pridat do seznamu objektu ktere budou reagovat 
> na MOOUSEBUTTONDOWN.
>  
> takze to by melo byt nejak tak
>  
>  /objekty = []
>     objekty.append(opicka)
>     objekty.append(kladivo)/
>  
> dva objekty opicka,kladivo ktere budou po kliknuti poustet zvuk zasah.wav
>  
>      if kurzor.trefa(objekty):
>                     zasahZvuk.play()
>                     objekty.zasah()
>  
> takze kdiz to spustim pak to rika ze chyby jim funkce .rect nebo co 
> ..hmm mno nevim
jo, to by mělo být asi takto:

for nastroj in objekty:
   if kurzor.trefa(objekt):
       zasahZvuk.play()
       nastroj.zasah()



-- 
geon
Pavel Kosina

------------- další část ---------------
HTML příloha byla odstraněna...
URL: http://www.py.cz/pipermail/tutor/attachments/20061007/637aee6f/attachment.htm 


Další informace o konferenci Tutor