>> ROB BOWDEN: Sveiki.
Aš Rob.
Nežinote, kaip įgyvendinti šį žaidimą?
Na, leiskite išeiti darbuotojai sprendimas.
>> Taigi, tegul pirma galva žemyn į init funkcijas, mes pasakė jums, kad
pirmiausia įgyvendinti.
Pirmasis mes pažvelgti ne tai, init irklas.
Viskas gerai, todėl nepamirškite, kad mes norime, irklas būtų tiksliai centre
x ašis.
Taigi mums reikia išsiaiškinti, jeigu tai reikia eiti.
>> Atsižvelgiant į valdybos plotis - kuri taip pat maišos apibrėžtą iki viršaus -
turime atimti iš irklas plotis ir padalinti iš 2, kad
centras irklas yra valdybos centras.
Atminkite, kad x koordinatė reiškia viršutiniame kairiajame kampe irklas,
ir tai yra būtent tai, kur mes norime, kad ji būtų.
Y koordinatė nesvarbu kiek, nes mes galime dėti
tai kur mes norime.
Taigi mes instancija irklas, mes nustatome juoda spalva, mes nustatome užpildyti True
todėl užpildyti stačiakampio, ir mes Tada jį pridėti prie lango ir grąžinimo
irklas.
Štai ir viskas inicializavimui irklas.
>> Jis bus panašus dėl paleidimo taip išlygindamas rezultatą.
Taigi, mes ketiname inicijuoti etiketę, mes ketiname nustatyti spalvą
šviesiai pilka - galite pasirinkti, ką jūs norite - mes ketiname nustatyti šriftą
Sans Serif 48 -
Taip pat galite pasirinkti, ką norite -
pridėsime ją prie lango.
Dabar ši siųsti atgal tikrai nėra reikia, tai tik tuo atveju, jei kažkas
nebeįvyksta sutampa etiketę.
Tada, kai mes naudojame Aptikti susidūrimo, Aptikti susidūrimo aptiks kitą
dalykas, kol ji aptinka etiketę.
Bet tai tikrai neturėtų įtakos mums šioje programoje.
>> Galiausiai, mes turime šį naujinimą suvestinės funkcija, kurią parašė.
Taigi galime pažvelgti, kad išvaizdą.
Dabar, čia mes matome kažką, kad beveik identiška tai, ką
matėme label.c.
Taigi, mes turime etiketę -
simbolių buferis 12 simbolių, kuri yra tik pakankamai apdoroti bet
sveikasis skaičius, teigiamas ar neigiamas.
Tada mes naudojame sprintf kopijuoti nurodo į tą buferį.
Taigi ai tai yra string atstovaujančių taškų skaičius.
>> Galiausiai, mes nustatyti etiketę į tą eilutę.
Ir tada mes turime sutelkti etiketę jei mes dingo iš devynių 10
pažymi ir mes persikėlė jį.
Taigi, mes galime apskaičiuoti X ir Y koordinates etiketės, kuri bus
gauti plotį ir aukštį langą.
Nors mes galime taip pat galite naudoti konstantos Plotis ir Aukštis maišos
apibrėžta iki viršaus.
Mes taip pat gauti plotį ir aukštį Etiketės ir atskirtį
kad 2 į centrą.
Ir tada mes naudojame Set kur faktiškai įdėti jį į tą vietą.
Štai ji už init išlygindamas rezultatą.
>> Gerai.
Taigi init kamuolys bus labai panašus paleidimui irklus, taip pat.
Čia mes matome, kad mes naudojame newgoval siekiant instancija naujas kamuolys.
Ir čia mes naudojame 2 kartus spindulys kaip laiko pločio ir 2
kartų spindulys kaip aukštis kamuolį.
Dabar taip pat newgoval, x ir y koordinatė, kad mes pereiname į vyksta
kreiptis į viršutiniame kairiajame kamuolys, kuris iš tikrųjų yra
už laiko pati.
Taigi, norint gauti kamuolį tiksliai orientuota į laivą, mes turime praeiti
plotis padalintas 2 centrui ir tada atimti iš spindulys stumti
faktinis centras kamuolį į valdybos centras.
Ir mes tai darome tą patį dalyką už y ašį, išskyrus naudojant
aukštis vietoj pločio.
>> Taigi, kad vietose rutulį centre.
Ir tai instantiates kamuolį, nustatykite spalva juoda, užpildykite kamuolį
pagaliau įtraukti jį į langą ir grįžti jį.
Štai ir viskas inicializavimui kamuoliukas.
>> Taigi dabar galime pažvelgti init išvaizdą plytos, kuris yra šiek tiek daugiau
sudėtinga, tačiau tai gana panašus į paleidimo irklas.
Dabar, mes pirmiausia reikia išsiaiškinti, Kiekvieno plytų plotis.
Nepamirškite, kad mes turime konstanta, vadinama pokalbius, kuriuos nurodo
skaičius plytų stulpelių kad mes turime.
Taigi, mes ketiname nustatyti plotį vieną plytų atsižvelgiant plotį
visos lentos, atimant iš mūsų tarpo dydis -
kuris yra maišos apibrėžta iki viršaus, ir nurodo į pikselių skaičių, kad
turėtų būti tarp kiekvienos plytos -
ir todėl mes ketiname turėti iš viso atotrūkis datos ragina tuščių pikselių
vienoje eilutėje.
Ir tai taip pat susiję su kai tuščias taškų į kairę ir į dešinę
Kairiajame stulpelyje ir dešiniajame stulpelyje plytų.
>> Taigi atimti tuos tuščių vaizdo palieka mus su vaizdo taškų skaičius, kad
plytos yra iš tikrųjų naudoti.
Ir tada mes padalinti skambučius gauti pikselių per plytų skaičius.
Taigi čia mes apibrėžti masyvą, kad tik nurodo spalvas norime kiekvienam
eilė plytų.
Jei mes turėjome daugiau eilių plytų nei spalvos, kad mes nurodyti, matysime
kad mes tiesiog kilpa atgal aplink ir vėl naudoti raudoną, tada oranžinė ir
geltona ir pan.
>> Taigi, kaip p-nustatyti spec patarimų, mes ketina kilpa ant visų eilučių ir
kolonos plytų.
Bet kol mes kilpa per stulpelius, mes matyti, kad čia mes nurodant
y pozicija kiekvieno plytų toje konkrečioje eilutėje.
Mes taip pat galėtų perkelti į antrąją šio už linijos, bet tada mes norime būti tiesiog
daro skaičiavimus vėl ir vėl dar kartą, kai mes nereikia.
>> Taigi y pozicija plytų vyksta būtų marža, kuri yra maišos
apibrėžta iki viršaus ir tik nurodo tarpas tarp lentos viršuje ir
Visų plytos pradžia.
Ir mes ketiname pridėti, kad eilutė kad mes apie laiką iš aukščio
individualus mūrinis plius atotrūkis tai tarp kiekvieno plytų.
Taigi tai taip pat vertikalus tarpas tarp kiekvieno plytų.
Taigi, kad suteikia mums y koordinatė iš plytų.
>> Taigi čia mes ketiname apskaičiuoti x koordinatė plytų.
Dabar, mes turime spragą, padalinta iš 2, nes prisiminti prieš, aš sakiau, kad
kairėje pusėje lentos, mes ketiname palikti šiek tiek vietos.
Taigi atotrūkis padalytą 2 yra ta erdvė.
Ir tada mes pridedant, kad stulpelis kad mes apie laikus plotis plius
spraga, kur plotis Tarpas kad vienas plytų užima ir
tada tarpas tarpas tarp kiekvieno plytų.
Taigi, kuri apskaičiuoja x koordinatė iš plytų.
>> Dabar mes tiesiog reikia instancija plytų nes x ir y koordinačių
naudojant plotį, kad mes, apskaičiuotas kiekvienai plytų, ir pertrauka nuo aukščio, kuris yra
maišos apibrėžtą iki viršaus.
Mes nustatėme, kad plytų spalva.
Atkreipkite dėmesį, mes naudojame mūsų spalvų spektrą ir mes einančios eilutės, kurios buvo
ant mod NUM spalvų, kurios ketina padaryti mums susivynioti atgal aplink raudona, jei mes
turi daugiau eilučių nei spalvų.
Galiausiai, mes užpildyti plytų spalva ir pridėti jį prie lango.
>> Štai ir viskas.
Taigi, tai jis visų mūsų įjungimo metodai.
Dabar mes turime pažvelgti į tą laiką kilpa, kad jums teko užpildyti forma
Taigi čia matome, kad tai yra mūsų, o kilpa, kad ketina tęsti iki
žaidimas yra daugiau, kurie arba priemonės mes paleisti iš gyvenimo arba
mes paleisti iš plytų.
>> Taigi pirmas dalykas, kurį mes turime yra Spausk palaukti.
Taigi žaidimas laukia mūsų, kad iš tikrųjų spustelėkite prieš kamuolys pradeda judėti.
Ir tada mes ketiname į Mažėja gyvenimą.
Taigi, jei mes turėjome tris gyvenimus, dabar mes į du gyvenimus, mes, naudodami mūsų
Trečioji gyvybės.
Mes ketiname sutelkti kamuolio.
Taigi dabar, tai tikrai ne ketina padėti mums nuo pirmųjų gyvenimo mes grojame
nes kamuolys jau vyksta buvo sutelkta nuo tada, kai mes
instantiated jį.
Tačiau mes matome, kai mes galų gale prarasti gyvenimas ir kilpa atgal aplink, tada mes
norės pradinę būklę kamuolį iš valdybos apačioje atgal
centras.
>> Taigi, dabar, čia mes turime sukurti x greitis kamuolį.
Ir kaip už spec, mes naudojame d rand 48 generuoti šiek tiek atsitiktinių skaičių
nurodyti greitis.
Mes pridedant vieną, kad, nes mes tiesiog nori dalyvauti vienos diapazone greičio
iki dviejų, o ne nuo nulio iki vieno.
Galiausiai, mes naudojame d rand 48 vėl Siekiant nustatyti, ar kamuolys
ketina perkelti į kairę ar teisė pradėti.
>> Taigi d randas 48 grąžina atsitiktinį skaičių nuo nulio iki vieno ir taip klausia
jei tai mažiau nei 0,5, mes turime 50 50 galimybė įjungti į greitį
kamuolys bus neigiamas.
Galiausiai, mes nustatyti vertikalų greitį kamuolys tiesiog kai pastovi.
Renkamės tris.
Ir dabar mes turime kitą kilpą.
>> Taigi tai vidinė kilpa vyksta toliau.
Atkreipkime dėmesį, o plytos yra didesnis už nulį -
todėl, jei mes paleisti iš plytų, mes laimėjo žaidimą, ir mes galime
ištrūkti iš šio ciklo -
ir visi Gauk y Ball mažiau nei aukščio minus 2 kartus spinduliu.
Taigi, kas tai yra pripažįstama, jei kamuolys atsitinka prasiveržti pro irklas, į
Tokiu atveju jūs praradote gyvenimą.
>> Ieško viduje tai už linijos turime už pelių atveju patikrinti.
Ir taip, jei yra pelės įvykis, kad reiškia, kad mes norime patikrinti,
pamatyti, jei pelė buvo perkeltas, ir, jei pelė buvo perkeltas, mes norime turėti
irklas suspėti su pele.
Taigi, norint tai padaryti, mes galime apskaičiuoti naują pozicija irklas, kuri vyksta
patraukti pele poziciją - kuri griebia padėtį, naudodami
įvykis, kad mes praėjo -
ir tada mes ketiname atimti iš irklas plotis padalintas 2, todėl
irklas lieka sutelkta pele vietoj kairėje pusėje irklas
esančių centre.
>> Taigi dabar mes taip pat norime būti tikri, kad mes nereikia eiti per kairėje pusėje ar dešinėje
pusėje lenta.
Ir todėl čia mes tiesiog patikrinti, jei irklas būtų ne kairėje pusėje
lenta, tiesiog klijuoti tai į kairę pusę.
Ir čia mes tikrinti, ar irklas Būtų per dešinėje pusėje
lenta, tiesiog klijuoti jį į dešinę pusę.
Ir pagaliau, mes iš tikrųjų nustatyti irklas vietą.
>> Dabar, jei ten buvo ne pelės judėjimas, tai reiškia, kad mes ketiname
norite perkelti kamuolį.
Ir taip mes jau turime x ir y greitis kamuolį
ir todėl mes jį perkelti.
Bet dabar mes norime aptikti pora dalykų.
Taigi čia mes aptikti, jei mes paspauskite arba kairę arba į dešinę pusę
lenta, norime kamuolys atšokti.
Ir taip, šiuo atveju, mes nustatome x greitis neigiamos x greitis.
>> Jei kamuolys hit lentos viršuje, tada mes taip pat norime, kad kamuoliuko atšokimo.
Bet dabar mes norime pakeisti y greitis.
Atkreipkite dėmesį, mes neturime būklę kamuolys pataikyti į dugną
lenta nes tai jau buvo paimtas į nelaisvę čia šiame while cikle.
>> Galiausiai, mes norime nustatyti kai susidūrimai, kur, jei kamuolys hit
arba irklas arba plytų, mes norime daryti tam tikras specialias atvejų dalykų.
Taigi, jei ten buvo susidūrimas, kuriame atvejų objektai nebus nulis, tada
jei objektas hit irklas, mes tiesiog nori Bounce kamuolys.
Ir čia pat, mes nustatyti vietą kamuolys tiesiog virš irklas.
Atkreipkite dėmesį, mes vartojate x padėtį kamuolys ir tik išnaudodami tai.
Bet čia mes vis y poziciją irklas ir judančių kamuolys
virš irklas.
>> Tai ypatingas atvejis, kad kamuolys nėra Hit irklas ir tada,
prieš tai gali judėti ne irklas, kita kilpa eina aplink ir
jis mano, kad tai vis dar ant skydo ir taip y greitis bus nustatytas į
neigiamas ir tada kamuolys tiesiog rūšies lazdos šoktelėti irklas.
Taigi, jei mes ne hit irklas, tada mes taip pat norite patikrinti
jei mes Hit plytų.
Ir todėl tai, kaip mes galime patikrinti pamatyti, jei mes Hit plytų.
>> Mums reikia patikrinti tai, nes mes gali iš tikrųjų nukentėjo etiketę ir mes
nenoriu nuimti etiketę.
Taigi, jei mes paspauskite plytų, mes galime pašalinti, kad plyta nuo lango, silpnėjimas
mūsų skaičius iš plytų, prieaugio mūsų taškų, ir dabar mes turime
atnaujinti švieslentę, kuri tiksliai pats, kaip matėme anksčiau, kai mes matėme
init suvestinė.
Bet dabar mes tik atnaujinti suvestinėje, nes mes pakeitėme
taškų.
Ir tai dabar turėtų rodyti, kad mes hit dar vieną pertrauką.
>> Ir pagaliau, jei mes paspauskite plytų mes taip pat norime Bounce.
Taigi pagaliau, mes turėtume pristabdyti tik todėl, kad kamuolys juda ne super greitai, ir mes
iš tikrųjų galite paspausti jį su mūsų irklas.
Ir tai gana daug.
Taigi, dabar norime kilpa atgal į viršų tai while cikle ir toliau, kol
arba mes prarasite gyvenimą arba mes paleisti iš plytų.
>> Kas atsitiks, jei mes prarasite gyvenimą?
Tada mes ketiname baigti tai, o kilpa, ir mes pamatyti kilpa atsargines kopijas
prie išorinio while cikle viršuje.
Tokiu atveju, mes ketiname vykdyti šią įsteigti dar kartą.
Ir tai įsteigti teks mums laukti už spustelėjimą Mažėja mūsų numerį
gyvybių, pradinę būklę kamuolį, perskaičiuoti X ir Y greičio, ir
tada vėl žaidimas.
>> Ir taip, kad bus tęsiamas tol, kol arba plytos baigiasi yra mažiau nei
arba lygus nuliui -
tokiu atveju mes laimėjome žaidimą -
ar gyvenimas yra mažesnė negu nulis, kurioje atveju mes pralaimėjome rungtynes.
Taigi, kai tai toks atvejis, mes išeiti tos while cikle, ir mes pasiekti čia
kur mes ketiname laukti paspaudimą prieš išeinant žaidimą taip, kad
žaidimas ne tik iš karto uždaryti į mus.
Ir pagaliau mes uždaryti langas ir viskas.
Mano vardas yra Rob, ir tai buvo Breakout.