[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