<br><font size=2 face="sans-serif">Podival som sa ti zas na to kladivo/opicku.:</font>
<br>
<br><font size=2 face="sans-serif">Myslim, ze tvoje usilie opakobane stroskotava
na tom, ze nevies jak postupovat hladani chyby v py-programe, </font>
<br><font size=2 face="sans-serif">resp vysetrovat beh programu. </font>
<br>
<br><font size=2 face="sans-serif">Kedze som sa este neskamaratil s pythonovskym
debuggerom zvyknem pouzivat taky jednoduchy postup, </font>
<br><font size=2 face="sans-serif">ze do programu na miesta ktore chcem
vysetrovat domontujem par kontrolnych vypisov, </font>
<br><font size=2 face="sans-serif">spustim program spustit a sledujem co
sa deje. </font>
<br>
<br><font size=2 face="sans-serif">Kedze tvoj program je graficky, treba
pracovat na command line konzole.</font>
<br>
<br><font size=2 face="sans-serif">Takze zapnes si konzolu vo Windows
Start/Run prikazom </font>
<br><font size=2 face="Courier New">cmd.</font>
<br><font size=2 face="sans-serif">nastavis sa do adresara kde mas svoj
program </font>
<br><font size=2 face="Courier New">cd d:\moj_adresar</font>
<br><font size=2 face="sans-serif">a spustis program, napriklad vo Windows
kde je Python asociovany s *.py napises na command line</font>
<br><font size=2 face="Courier New">Editor3.py. </font>
<br><font size=2 face="sans-serif">Teraz sa ti program spusti vo vlastnom
okne a na konzole uvidis pri akcii vypisy. </font>
<br>
<br><font size=2 face="sans-serif">Takze podme k prikladu:</font>
<br>
<br><font size=2 face="sans-serif">Bez toho aby som studoval manual pygame
som postupoval takto:</font>
<br>
<br><font size=2 face="sans-serif">1. Zo zdrojaku som zistil, ze udalosti
sa ziskavaju z pygame.event.get()</font>
<br><font size=2 face="sans-serif">takze som domontoval do cyklu udalosti
vypis udalosti</font>
<br><font size=2 face="Courier New">print "udalost = %s" % udalost;</font>
<br><font size=2 face="sans-serif">Takto som zistil, ze ked kliknem na
button opicka vznikne udalost</font>
<br><font size=2 face="Courier New">udalost = <Event(5-MouseButtonDown
{'button': 1, 'pos': (42, 83)})></font>
<br><font size=2 face="sans-serif">ked uvolnim tlacitko mysi </font>
<br><font size=2 face="Courier New">udalost = <Event(6-MouseButtonUp
{'button': 1, 'pos': (42, 83)})></font>
<br><font size=2 face="sans-serif">a ked iba nabehnem na dany button mysi
tak mi vznikne</font>
<br><font size=2 face="sans-serif">nieco taketo</font>
<br><font size=2 face="Courier New">udalost = <Event(4-MouseMotion {'buttons':
(0, 0, 0), 'pos': (53, 33), 'rel': (7, -28)})></font>
<br><font size=2 face="sans-serif">Toto posledne je to co chcem. </font>
<br>
<br><font size=2 face="sans-serif">2. Kedze k prvym 2 udalostiam pouzivas
definovane typy</font>
<br><font size=2 face="sans-serif">udalost.type == MOUSEBUTTONDOWN</font>
<br><font size=2 face="sans-serif">udalost.type == MOUSEBUTTONUP</font>
<br><font size=2 face="sans-serif">predpokladal som, ze bude existovat
aj typ pre udalost MouseMotion </font>
<br><font size=2 face="sans-serif">udalost.type == MOUSEMOTION</font>
<br><font size=2 face="sans-serif">takze skusil som zakomentovat t</font>
<br><font size=2 face="sans-serif">
elif udalost.type == MOUSEBUTTONDOWN:</font>
<br><font size=2 face="sans-serif">a nahradit to s</font>
<br><font size=2 face="sans-serif">
elif udalost.type == MOUSEMOTION:</font>
<br>
<br><font size=2 face="sans-serif">Teraz pri kazdej udalosti MOUSEMOTION
sa ti zavola funkcia kurzor.trefa(), ktora ti cez colliderect() vrati True
ak je kurzor na danom objekte</font>
<br><font size=2 face="sans-serif">Opicka/Kladivo vsetko funguje
jak si chcel.</font>
<br>
<br><font size=2 face="sans-serif">Tu ti pripajam upraveny zdrojak</font>
<br>
<br>
<br><font size=2 face="sans-serif">Na zaver poznamka: Uprava tvojho programu
mi zabrala len asi 10 minut, ale mnohonasobne viac minut mi zabralo napisanie
tohoto mailu.</font>
<br><font size=2 face="sans-serif">Dufam teda, ze horeuvedeny postup ti
pomoze samostatne riesit daslie problemy s Opickou a Kladivom :-)).</font>
<br>
<br>
<br>
<br>
<table width=100%>
<tr valign=top>
<td width=40%><font size=1 face="sans-serif"><b>"petrik" <petrik@extel.sk></b>
</font>
<br><font size=1 face="sans-serif">Sent by: tutor-bounces@py.cz</font>
<p><font size=1 face="sans-serif">22.10.2006 12:56</font>
<table border>
<tr valign=top>
<td bgcolor=white>
<div align=center><font size=1 face="sans-serif">Please respond to<br>
Konference Tutor portalu PyCZ <tutor@py.cz></font></div></table>
<br>
<td width=59%>
<table width=100%>
<tr>
<td>
<div align=right><font size=1 face="sans-serif">To</font></div>
<td valign=top><font size=1 face="sans-serif">"Konference Tutor portalu
PyCZ" <tutor@py.cz></font>
<tr>
<td>
<div align=right><font size=1 face="sans-serif">cc</font></div>
<td valign=top>
<tr>
<td>
<div align=right><font size=1 face="sans-serif">Subject</font></div>
<td valign=top><font size=1 face="sans-serif">[Tutor PyCZ] Otaceni obrazkem</font></table>
<br>
<table>
<tr valign=top>
<td>
<td></table>
<br></table>
<br>
<br>
<br><font size=2 face="Arial">Zdravim ja bych se chtel zeptat na to ,jak
udelat událost která delá tohle:</font>
<br><font size=3> </font>
<br><font size=2 face="Arial">-- Kdiž najedu na obrázek s kurzorem , obrázek
se začne točit.</font>
<br><font size=2 face="Arial">-- Kdiž kurzor posunu vedle(mimo obrázek)
tak se prestane točit.</font>
<br><font size=3> </font>
<br><font size=2 face="Arial">V mém přikladu mám u class <b>Kurzor()</b></font>
<br><font size=2 face="Arial">nadefinovanú funkci <b>trefa</b> ..</font>
<br><font size=2 face="Arial">.</font>
<br><font size=2 face="Arial"><b>def trefa</b><i>(self, ciel):<br>
"vracia info,ak kurzor zasiahla ciel"<br>
self.pohladenie = 1<br>
zasahObd = self.rect.inflate(-45, -1)<br>
return zasahObd.colliderect(ciel.rect)</i></font>
<br><font size=3> </font>
<br><font size=2 face="Arial">vím že <b>zasahObd.colliderect(ciel.rect)</b>
sleduje zda se nejaký Rect nepřekríva.</font>
<br><font size=3> </font>
<br><font size=2 face="Arial">jenže tahle funkce se využiva jen kdiž
na nejaky objekt kliknu tlačítkem myši .A ja bych chtel vědet jak udelat
ze </font>
<br><font size=2 face="Arial">by se udalost začala delat už tehdy kdiž
je kurzor na objektu ,bez toho abych musel na objekt kliknout..</font>
<br><font size=2 face="Arial">Priložil sem taky cely prográmek v kterém
to chci udelat...</font>
<br><font size=2 face="Arial">Diky moc za HELP...</font>
<br><font size=3> </font><font size=2><tt>_______________________________________________<br>
Tutor mailing list<br>
Tutor@py.cz<br>
http://www.py.cz/mailman/listinfo/tutor</tt></font>
<br><font size=2 face="sans-serif"><br>
Mgr. Ing. Roman MIKLÓŠ <br>
Prvá stavebná sporiteľňa a.s. <br>
Bajkalská 30, P. O. Box 48 <br>
829 48 Bratislava 25 <br>
Tel.: +421/ 2 / 582 31 174 <br>
Fax: +421/ 2 / 582 31 109 <br>
</font>