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