[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