1 00:00:00,000 --> 00:00:11,870 2 00:00:11,870 --> 00:00:12,530 >> РОБ БОВДЕН: Здраво. 3 00:00:12,530 --> 00:00:13,510 Ја сам Роб. 4 00:00:13,510 --> 00:00:15,140 Питате се како да спроведе ову игру? 5 00:00:15,140 --> 00:00:18,400 Па, хајде да се пробије напоље особље решење. 6 00:00:18,400 --> 00:00:21,890 >> Дакле, хајде да прво одемо до инит Функције које смо вам рекли да 7 00:00:21,890 --> 00:00:24,380 спровести први. 8 00:00:24,380 --> 00:00:30,602 Први ћемо да погледамо у томе је прва весло. 9 00:00:30,602 --> 00:00:34,550 У реду, тако запамтите да желимо весло да буде тачно центриран у 10 00:00:34,550 --> 00:00:35,870 к-оса. 11 00:00:35,870 --> 00:00:39,000 Дакле, морамо да схватимо где је требало да идем. 12 00:00:39,000 --> 00:00:42,650 >> Имајући у виду ширина одбора - који Такође хасх дефинисан до врха - 13 00:00:42,650 --> 00:00:46,380 морамо да одузмемо од ширине лопатице и подели са 2, тако да 14 00:00:46,380 --> 00:00:48,960 центар весло је у центар одбора. 15 00:00:48,960 --> 00:00:53,170 Запамтите да к-координата се односи на горњи леви угао весло, 16 00:00:53,170 --> 00:00:56,210 и тако да је ово тачно где желимо да буде. 17 00:00:56,210 --> 00:00:59,950 И координата није битно колико због тога што можемо поставити 18 00:00:59,950 --> 00:01:01,800 то где год желимо. 19 00:01:01,800 --> 00:01:07,080 Тако смо инстантиатинг весло, поставили смо боја црна, кренули смо да попуните Труе 20 00:01:07,080 --> 00:01:11,240 тако да је испуњен у правоугаоник, а ми затим га додати у прозору и повратак 21 00:01:11,240 --> 00:01:12,170 весло. 22 00:01:12,170 --> 00:01:14,540 И то је то за иницијализацију весло. 23 00:01:14,540 --> 00:01:17,480 >> То ће бити слични за инит семафору. 24 00:01:17,480 --> 00:01:21,950 Тако ћемо да покрене ознаку, ћемо да подесите боју 25 00:01:21,950 --> 00:01:25,180 светло сива - можете изабрати шта год Желим - идемо да подесите фонт на 26 00:01:25,180 --> 00:01:26,700 санс сериф фонт 48 - 27 00:01:26,700 --> 00:01:28,630 такође може изабрати шта год желите - 28 00:01:28,630 --> 00:01:30,180 ми ћемо га додати у прозору. 29 00:01:30,180 --> 00:01:34,760 Сада ово Пошаљи назад није стварно потребно, то је само у случају да се нешто 30 00:01:34,760 --> 00:01:37,010 друго се дешава да се преклапају етикету. 31 00:01:37,010 --> 00:01:40,680 Онда када користимо Детецт судара, Откриј Судар ће открити друге 32 00:01:40,680 --> 00:01:42,380 ствар пре него што детектује етикету. 33 00:01:42,380 --> 00:01:45,670 Али то заиста не би требало да утиче нас у овом програму. 34 00:01:45,670 --> 00:01:48,720 >> Коначно, имамо овај Упдате Сцоребоард функција које смо написали. 35 00:01:48,720 --> 00:01:51,020 Па хајде да погледамо то. 36 00:01:51,020 --> 00:01:54,590 Сада, овде видимо нешто што је готово идентичан ономе 37 00:01:54,590 --> 00:01:56,930 смо видели у лабел.ц. 38 00:01:56,930 --> 00:01:59,100 Дакле, имамо ознаку - 39 00:01:59,100 --> 00:02:03,540 бафер од 12 знакова карактер, који је само довољно за руковање било 40 00:02:03,540 --> 00:02:05,920 цео број, негативан или позитиван. 41 00:02:05,920 --> 00:02:10,310 Затим користимо спринтф за копирање указује на ту бафер. 42 00:02:10,310 --> 00:02:14,290 Дакле, ово садржи стринг који представља број бодова. 43 00:02:14,290 --> 00:02:18,180 >> Коначно, поставили смо ознаку на тај стринг. 44 00:02:18,180 --> 00:02:22,820 И онда морамо да центрирате етикету у случају смо отишли ​​са девет на 10 45 00:02:22,820 --> 00:02:24,920 указује и ми смо га померио. 46 00:02:24,920 --> 00:02:29,330 Тако смо израчунали Кс и И координате етикете која ће 47 00:02:29,330 --> 00:02:30,765 добити ширину и висину прозора. 48 00:02:30,765 --> 00:02:34,010 Мада, могли бисмо такође користити само Ширина и Висина константе тараба 49 00:02:34,010 --> 00:02:35,290 дефинисан горе. 50 00:02:35,290 --> 00:02:38,220 Такође смо добили ширину и висину етикете и поделе 51 00:02:38,220 --> 00:02:40,160 да од 2. до центра. 52 00:02:40,160 --> 00:02:43,530 И онда ми користимо постављен Локација да се заиста стави га на тој локацији. 53 00:02:43,530 --> 00:02:45,830 Дакле, то је то за инит семафору. 54 00:02:45,830 --> 00:02:46,320 >> У реду. 55 00:02:46,320 --> 00:02:50,390 Дакле, прва лопта ће бити веома сличан инит весла као добро. 56 00:02:50,390 --> 00:02:55,700 Ми овде видимо да смо користећи невговал у циљу екземплара новог лопту. 57 00:02:55,700 --> 00:03:00,810 И овде смо користећи 2 пута радијусу као ширина лопте, и 2 58 00:03:00,810 --> 00:03:03,140 пута радијус као висина лопте. 59 00:03:03,140 --> 00:03:07,240 Сада, такође за невговал, к и и координата које пролазимо у иде 60 00:03:07,240 --> 00:03:10,220 да се односи на левом горњем лопта, која је заправо 61 00:03:10,220 --> 00:03:11,910 изван самог лопте. 62 00:03:11,910 --> 00:03:15,510 Дакле, да би се тачно лопту центриран на табли, потребно је да прође 63 00:03:15,510 --> 00:03:20,730 ширина подељен са 2 за центар, и затим одузмите од полупречник да гура 64 00:03:20,730 --> 00:03:23,350 стварни центар лопте у центар одбора. 65 00:03:23,350 --> 00:03:26,810 И ми радимо исту ствар за и-оси, осим користећи 66 00:03:26,810 --> 00:03:28,490 висина уместо ширине. 67 00:03:28,490 --> 00:03:30,890 >> Тако да ставља лопту у центру. 68 00:03:30,890 --> 00:03:35,910 И ово инстанцира лопту, поставите обојили у црно, попуните лопту, 69 00:03:35,910 --> 00:03:37,960 коначно га додате у прозор и вратите га. 70 00:03:37,960 --> 00:03:40,700 И то је то за иницијализацију лопта. 71 00:03:40,700 --> 00:03:44,420 >> Зато сада хајде да погледамо инит цигле што је незнатно више 72 00:03:44,420 --> 00:03:47,840 компликовано, али то је прилично сличан инит весло. 73 00:03:47,840 --> 00:03:51,400 Сада, прво морамо да схватимо ширина сваког цигле. 74 00:03:51,400 --> 00:03:54,610 Запамтите да имамо константу зове позиви који прецизира 75 00:03:54,610 --> 00:03:56,860 Број колона цигле да имамо. 76 00:03:56,860 --> 00:04:01,010 Дакле, ми ћемо одредити ширину јединственог цигле узимајући ширину 77 00:04:01,010 --> 00:04:04,340 целог одбора, одузимајући ван величину наше јаза - 78 00:04:04,340 --> 00:04:07,310 који је дефинисан хасх до врха и односи на број пиксела који 79 00:04:07,310 --> 00:04:09,490 треба да буде између сваког цигле - 80 00:04:09,490 --> 00:04:14,910 и тако ћемо имати укупно јаз пута позива празне пиксела у 81 00:04:14,910 --> 00:04:16,360 један ред. 82 00:04:16,360 --> 00:04:20,450 И то ће се односити на неке празно пиксела лево и десно од 83 00:04:20,450 --> 00:04:22,850 напустио колону и десној колони циглу. 84 00:04:22,850 --> 00:04:26,990 >> Дакле одузмите од тих празних пиксела оставља нас са бројем пиксела који 85 00:04:26,990 --> 00:04:28,530 цигле су заправо користи. 86 00:04:28,530 --> 00:04:32,900 И онда делимо по позивима да се број пиксела по циглу. 87 00:04:32,900 --> 00:04:37,800 Дакле, овде ћемо дефинисати низ који тек одређује боје које желимо за сваки 88 00:04:37,800 --> 00:04:39,140 ред цигле. 89 00:04:39,140 --> 00:04:42,680 Ако смо имали више редова опеке него боје које смо наведени, видећемо 90 00:04:42,680 --> 00:04:45,980 да ћемо управо вратио петља око и користите црвено поново, а затим наранџаста и 91 00:04:45,980 --> 00:04:47,680 жута и тако даље. 92 00:04:47,680 --> 00:04:52,490 >> Дакле, као п-сет спец назнакама, ми смо ће петљу над свим редовима и 93 00:04:52,490 --> 00:04:54,590 колоне цигле. 94 00:04:54,590 --> 00:04:58,490 Али пре него што смо петљу над колонама, ми видим овде да ми прецизирајући 95 00:04:58,490 --> 00:05:02,030 И позиција сваке цигле у том реду. 96 00:05:02,030 --> 00:05:06,410 Могли бисмо такође крећу ово у другом за петљу, али онда бисмо само бити 97 00:05:06,410 --> 00:05:09,640 ради обрачуна изнова и изнова опет кад ми не треба да. 98 00:05:09,640 --> 00:05:13,810 >> Дакле, И позиција цигле иде да буде маргина, што је хасх 99 00:05:13,810 --> 00:05:17,830 дефинисати до врха и само односи се простор између врха одбора и 100 00:05:17,830 --> 00:05:19,910 почетак свих цигле. 101 00:05:19,910 --> 00:05:24,370 И ми ћемо додати да ред да смо на време висина 102 00:05:24,370 --> 00:05:28,420 појединац цигла плус јаз која је између сваког цигле. 103 00:05:28,420 --> 00:05:31,640 Дакле, ово је такође вертикална јаз између сваког цигле. 104 00:05:31,640 --> 00:05:34,000 Тако да нам даје и координата од цигле. 105 00:05:34,000 --> 00:05:38,170 >> Дакле, овде ћемо да израчунамо к координата цигле. 106 00:05:38,170 --> 00:05:42,050 Сада, имамо јаз подељен са 2 од, запамтите пре, рекао сам да у 107 00:05:42,050 --> 00:05:45,020 лева страна одбора, идемо да оставите мало простора. 108 00:05:45,020 --> 00:05:47,630 Дакле јаз подељен са 2 је да се простор. 109 00:05:47,630 --> 00:05:51,950 И онда смо додајући да је колона да смо на време, плус ширина 110 00:05:51,950 --> 00:05:55,150 јаз, где је ширина количина простора да један цигле заузима и 111 00:05:55,150 --> 00:05:58,510 онда је јаз простор између сваког цигле. 112 00:05:58,510 --> 00:06:00,700 Тако да израчунава к-координата од цигле. 113 00:06:00,700 --> 00:06:04,890 >> Сада само треба да инстанцирању цигла с обзиром да је к и и координата 114 00:06:04,890 --> 00:06:09,120 користећи ширину да се обрачунава за сваки висина цигле, а пауза која је 115 00:06:09,120 --> 00:06:10,800 хасх дефинисан горе. 116 00:06:10,800 --> 00:06:12,420 Ми смо поставили боју цигле. 117 00:06:12,420 --> 00:06:15,790 Приметимо да смо користећи наш боје низ и ми пролази у низу који су били 118 00:06:15,790 --> 00:06:19,760 на мод Број боја који ће бити нас замотати назад око на црвено ако се 119 00:06:19,760 --> 00:06:22,140 имају више редова него боја. 120 00:06:22,140 --> 00:06:25,020 Коначно, ми ћемо испунити цигле боја и додајте га до прозора. 121 00:06:25,020 --> 00:06:26,440 >> И то је то. 122 00:06:26,440 --> 00:06:30,190 Дакле, то је то за све наше иницијализацију методе. 123 00:06:30,190 --> 00:06:33,200 Сада морамо да се осврнемо на то време петља да сте морали да попуне ин 124 00:06:33,200 --> 00:06:39,000 Дакле, овде видимо да је ово наша док петља која ће се наставити све док 125 00:06:39,000 --> 00:06:42,250 игра је завршена, која значи или ми понестане живота или 126 00:06:42,250 --> 00:06:43,910 ми понестане цигле. 127 00:06:43,910 --> 00:06:46,390 >> Дакле, прва ствар имамо је Чекајте Клик. 128 00:06:46,390 --> 00:06:51,380 Дакле, игра чека нас да се заиста кликните пре него што лопта почиње да се креће. 129 00:06:51,380 --> 00:06:53,340 А онда идемо да декрементирати животе. 130 00:06:53,340 --> 00:06:56,710 Дакле, ако смо имали три живота, сада смо до два живота, ми смо користећи наш 131 00:06:56,710 --> 00:06:58,160 трећи живот. 132 00:06:58,160 --> 00:06:59,920 Идемо до центра лопту. 133 00:06:59,920 --> 00:07:05,180 Дакле, сада, ово није стварно да помогне нам на првом животу играмо 134 00:07:05,180 --> 00:07:07,910 пошто је лопта већ ће су усмерена од када смо 135 00:07:07,910 --> 00:07:09,010 инстанце га. 136 00:07:09,010 --> 00:07:12,910 Али ми видимо када смо на крају изгубили живот и петља назад око, онда смо 137 00:07:12,910 --> 00:07:15,800 ће желети да рецентер лопту из дну одбора назад 138 00:07:15,800 --> 00:07:17,130 центар. 139 00:07:17,130 --> 00:07:21,840 >> Дакле, сада овде морамо да генеришу к брзина лопте. 140 00:07:21,840 --> 00:07:26,060 И, као по спец, користимо д ранда 48 да генерише неки случајни број 141 00:07:26,060 --> 00:07:27,820 да одредите брзину. 142 00:07:27,820 --> 00:07:31,130 Ми смо додајући да онај који смо управо од желе брзине у опсегу једне 143 00:07:31,130 --> 00:07:33,380 до два уместо нула на један. 144 00:07:33,380 --> 00:07:37,415 Коначно, ми користимо д ранда 48 поново у како би се утврдило да ли лопту 145 00:07:37,415 --> 00:07:40,490 ће да се пресели у лево или право да почне. 146 00:07:40,490 --> 00:07:45,310 >> Дакле, ум Ранд 48 враћа случајан број између нула и један, и тако тражећи 147 00:07:45,310 --> 00:07:50,330 ако је то мање од 0.5, имамо 50 50 Могуће пребацивање брзине 148 00:07:50,330 --> 00:07:52,740 лопта да буде негативан. 149 00:07:52,740 --> 00:07:55,790 Коначно, поставили смо вертикалну брзину лопта да је само неки константан. 150 00:07:55,790 --> 00:07:57,550 Бирамо три. 151 00:07:57,550 --> 00:07:59,300 А сада имамо још једну петљу. 152 00:07:59,300 --> 00:08:02,800 >> Дакле, ово је унутрашња петља наставити. 153 00:08:02,800 --> 00:08:04,960 Обратите пажњу овде, док цигле је већа од нуле - 154 00:08:04,960 --> 00:08:07,100 па ако нам понестане цигле, ми смо победио и можемо 155 00:08:07,100 --> 00:08:08,770 пробије из ове петље - 156 00:08:08,770 --> 00:08:13,140 и све Набавите г кугла мање од висине минус 2 пута стреле. 157 00:08:13,140 --> 00:08:17,310 Дакле, шта се ово препознавање је уколико Лопта се дешава да иде поред весло, у 158 00:08:17,310 --> 00:08:19,500 ком случају да сте изгубили живот. 159 00:08:19,500 --> 00:08:23,500 >> У потрази за ово унутра петље имамо проверу за миша догађај. 160 00:08:23,500 --> 00:08:27,530 И тако, ако постоји миш догађај, који значи да желимо да проверите да 161 00:08:27,530 --> 00:08:30,880 види да ли је миш померен, а ако миш је премештена, желимо да имамо 162 00:08:30,880 --> 00:08:33,210 весло одржи корак са мишем. 163 00:08:33,210 --> 00:08:38,789 Дакле, да се то уради, ми израчуна нови положај весло, који ће 164 00:08:38,789 --> 00:08:42,900 да зграби положај миша - који граби положај користећи 165 00:08:42,900 --> 00:08:44,890 догађај који смо прошли - 166 00:08:44,890 --> 00:08:48,940 а онда ћемо одузети од паддле ширина подељен са 2, тако 167 00:08:48,940 --> 00:08:54,240 паддле остаје центриран на миша уместо левој страни весло 168 00:08:54,240 --> 00:08:55,740 бораве центриран. 169 00:08:55,740 --> 00:09:00,750 >> Дакле, сада желимо да будемо сигурни да смо не иду преко леве стране или десне 170 00:09:00,750 --> 00:09:01,740 стране одбора. 171 00:09:01,740 --> 00:09:05,480 И тако смо овде само проверавам да ли паддле би ван левој страни 172 00:09:05,480 --> 00:09:08,370 одбор, да се држимо то на левој страни. 173 00:09:08,370 --> 00:09:11,000 И овде смо проверу да ли весло би преко десне стране 174 00:09:11,000 --> 00:09:13,600 одбор, само га држимо на десној страни. 175 00:09:13,600 --> 00:09:17,290 И на крају, ми смо заправо поставили локација весло. 176 00:09:17,290 --> 00:09:20,610 >> Сада, ако није било кретање миша, то значи да ћемо 177 00:09:20,610 --> 00:09:21,900 желите да преместите лопту. 178 00:09:21,900 --> 00:09:24,260 И тако већ имамо Тхе Кс и и брзина лопте 179 00:09:24,260 --> 00:09:25,560 и тако смо га преместили. 180 00:09:25,560 --> 00:09:27,750 Али сада желимо да се открију пар ствари. 181 00:09:27,750 --> 00:09:31,950 Дакле, овде смо откривања ако ми било хит лева или десна страна 182 00:09:31,950 --> 00:09:34,240 одбор, желимо да лопта одскок. 183 00:09:34,240 --> 00:09:39,790 И тако, у том случају, поставили смо к брзину до негативног к брзине. 184 00:09:39,790 --> 00:09:43,900 >> Ако се лопта одбила од врха одбора, онда ми такође желимо одскок лопте. 185 00:09:43,900 --> 00:09:46,750 Али сада желимо да променимо г брзина. 186 00:09:46,750 --> 00:09:49,130 Приметите немамо услов за лопта удара дно 187 00:09:49,130 --> 00:09:53,230 одбор од које је већ заробљен овде у овом вхиле. 188 00:09:53,230 --> 00:09:56,630 >> На крају, желимо да се открију неке судари где ако лопта погодак 189 00:09:56,630 --> 00:10:01,040 или весло или цигла, желимо да уради неке ствари посебан случај. 190 00:10:01,040 --> 00:10:06,590 Дакле, ако постоји колизија, у којој случајева објекти неће бити нула, онда, 191 00:10:06,590 --> 00:10:10,950 ако објекат ударио весло, ми би Само желим да одскок лопту. 192 00:10:10,950 --> 00:10:16,110 И овде, такође, поставили смо локацију лопта за само изнад весло. 193 00:10:16,110 --> 00:10:19,710 Приметимо да смо одвојили к позицију лопта и само поновним то. 194 00:10:19,710 --> 00:10:23,250 Али овде смо добијање и позицију од весло и креће лопту 195 00:10:23,250 --> 00:10:24,620 изнад весло. 196 00:10:24,620 --> 00:10:28,070 >> Ово је посебан случај, тако да лопта не удари весло и онда, 197 00:10:28,070 --> 00:10:31,530 пре него што је у стању да се креће ван весло, други петља иде около и 198 00:10:31,530 --> 00:10:34,830 она мисли да је још увек на табли и па брзина И добија сет назад 199 00:10:34,830 --> 00:10:38,210 негативан а онда лопта некако штапова поскакивање на весло. 200 00:10:38,210 --> 00:10:42,510 Дакле, ако нисмо ударио весло, онда ми такође желимо да проверите 201 00:10:42,510 --> 00:10:43,930 ако погоди циглу. 202 00:10:43,930 --> 00:10:47,030 И тако је то како можемо проверити да видимо да ли смо погодили циглу. 203 00:10:47,030 --> 00:10:50,250 >> Ми треба да се провери за ово јер ми може су заправо ударио етикету и ми 204 00:10:50,250 --> 00:10:52,320 не желе да уклоните налепницу. 205 00:10:52,320 --> 00:10:57,120 Дакле, ако смо погодили циглу, можемо уклонити да цигла из прозора, умањење 206 00:10:57,120 --> 00:11:01,170 наш кол од цигле, увећава наш број поена, а сада морамо да 207 00:11:01,170 --> 00:11:05,410 ажурирати семафор који је управо као исти смо видели раније, када смо видели 208 00:11:05,410 --> 00:11:06,300 прва семафор. 209 00:11:06,300 --> 00:11:08,790 Али сада ми се само ажурирање семафор, јер смо променили 210 00:11:08,790 --> 00:11:09,370 број бодова. 211 00:11:09,370 --> 00:11:12,180 И сада треба да прикаже да ми погодио још једну паузу. 212 00:11:12,180 --> 00:11:16,320 >> И коначно, ако смо погодили циглу ми такође желимо да одскок. 213 00:11:16,320 --> 00:11:21,240 Дакле, коначно, можемо само да паузирате лопта се не креће брзо и супер ми 214 00:11:21,240 --> 00:11:24,360 може заправо га удари са нашим весло. 215 00:11:24,360 --> 00:11:25,910 И то је углавном то. 216 00:11:25,910 --> 00:11:32,200 Дакле, сада бисмо петља назад на врх ово док петља и наставиће се до 217 00:11:32,200 --> 00:11:35,700 или смо изгубити живот или ми понестане цигле. 218 00:11:35,700 --> 00:11:37,300 >> Шта се дешава ако изгубите живот? 219 00:11:37,300 --> 00:11:41,870 Онда ћемо да изађете ово док петља, а ми ћемо видети воља петља резервне копије 220 00:11:41,870 --> 00:11:45,110 на врх спољашњег вхиле. 221 00:11:45,110 --> 00:11:48,740 У том случају, ми ћемо изврши ову подесите поново. 222 00:11:48,740 --> 00:11:52,010 И ово подесите ће морати да сачекамо за клик, декрементирати наш број 223 00:11:52,010 --> 00:11:56,060 живота, рецентер лопту, прерачунати к и и брзина, и 224 00:11:56,060 --> 00:11:57,670 затим наставили игру. 225 00:11:57,670 --> 00:12:01,490 >> И тако, да ће се наставити све док се цигле завршава се мање него 226 00:12:01,490 --> 00:12:02,540 или једнак нули - 227 00:12:02,540 --> 00:12:04,630 у ком случају ми победили - 228 00:12:04,630 --> 00:12:10,430 или живот је мање од нуле, у којој Случај смо изгубили утакмицу. 229 00:12:10,430 --> 00:12:15,190 Дакле, када је то случај, ми избити тог вхиле, а ми смо овде до 230 00:12:15,190 --> 00:12:17,660 где ћемо чекати клик пре изласка игру, тако да 231 00:12:17,660 --> 00:12:20,140 игра не само одмах затворити на нас. 232 00:12:20,140 --> 00:12:23,420 И на крају ћемо затворити прозор и то је то. 233 00:12:23,420 --> 00:12:25,500 Моје име је Роб, и то је било Бреакоут. 234 00:12:25,500 --> 00:12:30,592