[Tutor PyCZ] Pygame - zasahy a otočky (bylo:Re: Fw: HElP)
petrik
petrik na extel.sk
Sobota Říjen 7 21:44:12 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----------------------------------Mno nevim nejak to nejde...nema tam být objekty??if kurzor.trefa(objekty):kdiž tam nechám (objekt) tak napíše že objekt neni definovám.a kdiž dám (objekty) tak napíše return zasahObd.colliderect(ciel.rect)AttributeError: 'list' object has no attribute 'rect'prikládam ten Editor.py .. objekt Kladivo by mel delat to same co delá objekt OpičkaWraCkeR
------------------------------------------------------------------------------
_______________________________________________
Tutor mailing list
Tutor na py.cz
http://www.py.cz/mailman/listinfo/tutor
------------- další část ---------------
HTML příloha byla odstraněna...
URL: http://www.py.cz/pipermail/tutor/attachments/20061007/6554403d/attachment.htm
------------- další část ---------------
Netextová příloha byla odstraněna...
Jméno: Editor.rar
Typ: application/octet-stream
Velikost: 24462 bytes
Popis: [žádný popis není k dispozici]
Url : http://www.py.cz/pipermail/tutor/attachments/20061007/6554403d/attachment.obj
Další informace o konferenci Tutor