Tip:
Highlight text to annotate it
X
>> DAVID Malan: Ejja jikteb programm jinvolvu tieqa u ċirku ma
-ċirku bouncing quddiem u lura off ix-xellug u lemin
truf ta 'dak tieqa.
Biex tagħmel dan, ejja tuża Il Stanford Librerija portabbli, u ejja ewwel
jinkludu gevents.h sabiex inkunu nistgħu jisimgħu għall-movimenti tal-ġrieden.
Ejja mbagħad jinkludi gobjects.h sabiex nistgħu tiddikjara affarijiet simili ovali jew
ċrieki, verament.
U mbagħad ejja jinkludu gwindow.h sabiex għandna tieqa grafika għal
kollox.
>> Ejja tiddikjara prinċipali fil-mod normali.
U ejja issa tiddikjara u instantiate jew joħolqu dak tieqa, GWindow -
u aħna ser sejħa-tieqa varjabbli -
gets newGWindow.
U aħna ser arbitrarju jagħmilha 320 pixels minn 240 pixels.
>> Ejja jmiss instantiate ċirku.
Iżda biex instantiate dan iċ-ċirku, għandna bżonn li jagħmlu daqsxejn aktar xogħol.
B'mod partikolari, ejja imla dan iċ-ċirku sabiex il-ħaġa sħiħa hija
iswed u mhux biss il- kontorn tiegħu.
GOval -
aħna ser sejħa hija ċirku -
gets newGOval.
Aħna ser tpoġġi din ovali f'0, 110, u aħna ser jagħmlu l-ovali 20 pixels wiesgħa minn
20 pixels għoli - fi kliem ieħor, a dijametru ta '20 jew raġġ ta' 10.
>> Ejja issa jistabbilixxu l-kulur ta 'dan iċ-ċirku li jkun kwotazzjoni, unquote, "iswed." Ejja
issa huwa stabbilit jimtlew billi tispeċifika veru.
U issa fl-aħħarnett, ejja żid il-ċirku li -tieqa kif ġej, fejn il-
aħħar hija miżjuda mal-ewwel.
>> Ejja issa tiddikjara doppja.
Aħna ser sejħa hija veloċità.
U kemmxejn arbitrarju, ejja ngħidu l- veloċità ta 'dan iċ-ċirku se jkun
2.0, fi kliem ieħor, 2 pixels għal kull unità ta 'ħin.
U issa ejja deliberatament jinduċi loop infinita.
>> Allura kif jagħmlu dan iċ-ċirku bounce quddiem u lura?
Well ejja nassumu f'dan loop li għal kull unità ta 'ħin, aħna qed
ser jiċċaqalqu l-ċirku biss ftit bit ibbażata fuq il-veloċità tagħha ta '2 pixels
għal kull unità ta 'ħin.
Iżda kontinwament, aħna qed tmur biex ikollhom jiċċekkjaw jekk l-ċirku huwa jmissu l-
tarf tal-lemin tal-iskrin jew ix-xellug tarf tal-iskrin, għaliex jekk hekk, aħna
bżonn li bounce, biex ngħidu hekk.
>> Kif għandhom jiġu implimentati l- kunċett ta 'bouncing?
Ukoll jekk aħna qed tmur fuq 2 pixels għall- dritt għal kull unità ta 'ħin, li bounce off
il-tarf tal-lemin, nistgħu sempliċiment reverse li jkun negattivi 2 pixels kull unità
ta 'żmien, u b'hekk jixxejnu il-veloċità.
Allura fil-fatt, bouncing huwa relattivament sempliċi.
>> Ejja ewwel jiċċaqalqu l-ċirku minn dan ħafna pixels tul l-assi-x, billi dan
ħafna pixels tul l-assi y.
Fi kliem ieħor, aħna ma tridx li jimxu tul l-assi y fil-livelli kollha.
Aħna biss tixtieq li bounce back u lura xellug u lemin.
>> U ejja issa check f'dan loop jekk lx-jikkoordinaw taċ-ċirku plus
il-wisa 'tal-ċirku huwa akbar minn jew daqs il-
wisa 'tat-tieqa -
fi kliem ieħor, jekk il-pożizzjoni-ċirku tal- flimkien mal-wisa 'taċ-ċirku
nnifisha issa huwa passat il-tarf tat-tieqa, aħna'd
reverse aħjar veloċità tagħna -
veloċità gets veloċità negattiva, b'hekk flipping pożittiv għal
negattiv jew negattiv għal pożittiv.
Imma x'jiġri jekk l-ċirku tkun miexja minn dritt għall-xellug u għalhekk hits
il-tarf tax-xellug?
Fi kliem ieħor, jekk il-x-jikkoordinaw ta ' -ċirku issa huwa inqas minn jew daqs
għal 0, ejja imorru quddiem u għal darb'oħra invertit veloċità tagħna.
>> Allura għaliex ma I ma miżjuda fil- wisa 'taċ-ċirku dan
time, kif għamilt qabel?
Ukoll, iżomm f'moħħu li l-koordinati ta 'oġġett huma definiti
minn rokna ta 'fuq tagħha tax-xellug, mhux mill-nofs tiegħu.
U hekk meta l-ċirku huwa jiċċaqilqu minn xellug għal-lemin, għandna bżonn li jiċċekkja
jekk il-tarf tal-lemin tal- ċirku jkun għadda mill-
tarf tal-lemin tat-tieqa.
Allura biex ċifra barra dak li hu, għandna biex jiksbu l-x-jikkoordina taċ-ċirku
flimkien mal-wisa 'taċ-ċirku li jiċċaqalqu lilna nfusna mill-quċċata tax-xellug
kantuniera, b'mod effettiv, lill- rokna tal-lemin ta 'fuq.
Meta l-ċirku miexja mill-lemin għax xellug, sadanittant, aħna ma bżonn li
jolqot bl-tali żieda, minħabba li l- rokna ta 'fuq tax-xellug taċ-ċirku huwa
diġà l-valur aħna ser tikseb minn get x.
>> Ejja issa tmexxi l-ballun.
Ejja issa jiffranka, tiġbor, u run dan programm, tagħmel bounce,. / bounce.
U hemm għandna programm.
>> Iżda l-ċirku miexja daqstant b'mod darn fast, huwa kważi impossibbli li tara x'hemm
attwalment għaddejjin.
Mela ejja pjuttost il-programm bil-forza mill- tikklikkja lX fil-idejn lemin ta 'fuq
kantuniera hawn.
Ejja issa jmorru lura fil-kodiċi tas-sors u affarijiet tnikkirx ftit.
>> Fi kliem ieħor, f'dan infinita loop, aktar milli biss u moviment u
jimxu u għal darb'oħra, ad nauseum, ejja linger għal ftit millisekondi
qabel ma jipproċedu li jiċċaqalqu mill-ġdid.
B'mod partikolari, ejja mur l-qiegħ tal-loop infinita hawn u sempliċiment
nieqaf għal, ngħidu aħna, 10 millisekondi fuq kull iterazzjoni.
Ejja issa recompile u ripetizzjoni bounce.
U issa naraw ħafna iktar raġonevoli implimentazzjoni, fejn nistgħu naraw il-
ċirku verament bouncing fuq il- xellug u dritt tarf.