>> Rob Bowden: Hi.
Mən Rob deyiləm.
Bu oyun həyata necə merak?
Yaxşı, çıxmaq bildirin heyəti həll.
>> Belə ki, aşağı init üçün ilk baş ili biz sizə dedim ki, funksiyaları
ilk həyata.
Birincisi biz bir nəzər lazımdır ona init avar edir.
Bütün hüquqlar, belə ki, biz istəyirik ki, xatırlayıram dəqiq mərkəzi üçün avar
x-ox.
Beləliklə, biz anlamaq lazımdır ki, getmək lazımdır harada.
>> İdarə Heyətinin eni nəzərə alaraq - olan da müəyyən üst hash edir -
biz avar eni həyata çıxmaq lazımdır və, 2 bölmək ki
avar mərkəzi edir board mərkəzi.
X-koordinasiya etmək aiddir ki, saxla avar sol üst küncündə,
və bu olduğu dəqiq biz olmaq istəyirəm.
The etməz y koordinat biz edə bilərsiniz, çünki qədər
Bu yerdə biz istəyirik.
Belə ki, biz avar instantiating, biz müəyyən rəng qara, biz doğru doldurur
belə ki, düzbucaqlı dolu bir, və biz sonra pəncərədən və qaytarılması əlavə
avar.
Və başlatılıyor üçün bu avar.
>> Oxşar olacaq init scoreboard üçün.
Belə ki, biz etiket başlamaq olacaq, biz rəng müəyyən olacaq
yüngül boz - Siz seçə bilərsiniz hər hansı istəyirəm - biz font müəyyən olacaq
sans 48 Serif -
da istədiyiniz hər hansı seçin bilər -
biz pəncərə əlavə edəcəyik.
İndi geri Bu göndərmək həqiqətən deyil zəruri, bu halda yalnız bir şey var
başqa etiket üst-üstə olur.
Sonra biz Collision aşkar istifadə edərkən, Collision digər aşkar edəcək Detect
Bu etiket algılar şey əvvəl.
Amma həqiqətən təsir etməməlidir Bu proqram us.
>> Nəhayət, biz bu Update Scoreboard var biz yazırdı ki, fəaliyyət göstərir.
Belə ki, bir nəzər salaq.
İndi burada biz ki, bir şey görmək demək olar ki, eyni nə
biz label.c gördüm.
Beləliklə, biz bir etiket var -
12 simvol bir xarakter buffer, bir idarə etmək üçün yalnız kifayət qədər olan
mənfi və ya müsbət tam.
Sonra biz surəti sprintf istifadə ki, bufer daxil göstərir.
Belə ki, s bu təmsil bir simli var bal sayı.
>> Nəhayət, biz etiket müəyyən ki, simli üçün.
Və sonra biz etiket mərkəzi lazımdır halda biz doqquz dən 10 getdi etdik
bal və biz bunu keçdikdə etdik.
Beləliklə, biz x və y-koordinatları hesablamaq Etiketin edəcək olan
eni və hündürlüyü almaq pəncərə.
Baxmayaraq ki, biz də yalnız istifadə edə bilər sabitləri Eni və hündürlüyü hash
üst qədər müəyyən.
Biz də eni və hündürlüyü almaq etiket və uçurum
2 mərkəzi olan.
Və sonra biz Set Location istifadə etmək həqiqətən ki, yeri qoyun.
Belə ki, init scoreboard üçün bu.
>> OK.
Belə ki, init top çox oxşar olacaq həmçinin paddles init üçün.
Biz newgoval istifadə edirik ki, burada görmək yeni bir top instantiate üçün.
Və burada biz 2 dəfə radius istifadə etdiyiniz Bu top eni və 2 kimi
kimi dəfə radius top hündürlüyü.
İndi də newgoval üçün, x və biz gedir keçir ki y koordinat
Bu üst sol müraciət əslində olan top,
top özü xaricində.
Belə ki, üçün tam topu almaq üçün board mərkəzi, biz keçmək lazımdır
eni mərkəzi 2 bölünür, və sonra təkan radius həyata çıxmaq
daxil top faktiki mərkəzi board mərkəzi.
Və biz eyni şey istifadə istisna olmaqla y-ox üçün
əvəzinə eni hündürlüyü.
>> Belə ki, mərkəzində topu verir.
Və bu müəyyən topu instantiates burada top doldurmaq, qara rəng,
sonra nəhayət əlavə pəncərə və geri.
Və başlatılıyor üçün bu top.
>> Belə ki, indi init nəzər salaq az çoxdur kərpic
mürəkkəb, lakin bu, olduqca init avar bənzər.
İndi ilk biz anlamaq lazımdır hər kərpic eni.
Biz daimi adlı var unutmayın ki, zənglər olan ifadə edən
kərpic sütunlar sayı Biz ki,.
Belə ki, biz eni müəyyən olacaq eni alaraq bir kərpic
bütün board, subtracting Bizim boşluğu ölçüsü out -
hash üst qədər müəyyən və istinad olan piksel sayı ki,
hər kərpic arasında olmalıdır -
və biz cəmi olacaq boşluğu dəfə boş piksel çağırır
bir sıra.
Və də bəzi boş müraciət edəcək Bu sol və sağ piksel
sütun və sağ sütun kərpic sol.
>> Belə ki, həmin boş piksel həyata çıxmaq piksel bir sıra bizə yaradır
kərpic həqiqətən istifadə olunur.
Və sonra biz almaq üçün zənglər ilə bölmək kərpic hər piksel sayı.
Belə ki, burada biz bir sıra müəyyən ki, yalnız biz hər istədiyiniz rəngləri müəyyən
kərpic sıra.
Biz kərpic daha çox satır çox olsaydı biz müəyyən rənglər, biz görəcəksiniz
ki, biz yalnız loop geri və ətrafında olacaq yenə qırmızı istifadə və sonra narıncı və
belə sarı və.
>> Belə ki, p-set spec göstərişlər kimi, biz bütün satır üzərində loop gedən və
kərpic sütunlar.
Amma sütunlar üzərində biz loop əvvəl, biz Biz ifadə edirik ki, burada baxın
hər kərpic y mövqeyi xüsusi sıra.
Biz də ikinci bu hərəkət edə bilər loop üçün, lakin sonra biz yalnız olarıq
üzərində hesablama etdiyini daha ehtiyac yoxdur zaman.
>> Belə ki, kərpic y mövqeyi gedir hash olan margin olmaq
üst qədər müəyyən və yalnız istinad İdarə Heyətinin üst arasında kosmik
kərpic bütün start.
Və biz əlavə etmək üçün olacaq ki, sıra biz dəfə bir hündürlüyü olduğunu
fərdi kərpic plus boşluğu hər kərpic arasında.
Belə ki, bu da bir şaquli hər kərpic arasında boşluğu.
Belə ki, bizə y-koordinat verir kərpic.
>> Belə ki, burada biz hesablamaq olacaq Bu kərpic x-əlaqələndirmək.
İndi biz ildən 2 bölünür uçurum var əvvəl xatırlayıram, dedim ki, at
board sol, gedirik bir az yer tərk etmək.
Belə ki, 2 bölünür boşluğu ki sahibidir.
Və sonra biz əlavə etdiyiniz sütun biz dəfə eni plus istəyirik ki,
eni kosmik məbləği yerləşir boşluğu, bir kərpic tutur və
sonra boşluğu yer deyil hər kərpic arasında.
Belə ki, x-koordinat hesablayır kərpic.
>> İndi biz yalnız instantiate lazımdır ki, x və y-koordinat verilmiş kərpic
biz hər hesablanır ki eni istifadə kərpic, və break hündürlüyü olan
qədər müəyyən üst hash.
Biz kərpic rəngi seçin.
Biz rəng array istifadə etdiyiniz bildiriş biz ki, üst-üstə keçən edirik
mod num rəngləri olan etmək üçün gedir us qırmızı ətrafında geri paketi, əgər biz
rəng daha satır.
Nəhayət, biz kərpic doldurmaq lazımdır rəng və pəncərə əlavə edin.
>> Və bu.
Belə ki, bizim bütün bu başlatma üsulları.
İndi biz müddət baxmaq lazımdır Siz daxil doldurmaq üçün idi ki, loop
Belə ki, burada biz bu bizim isə görürük qədər davam edir ki, loop
oyun, artıq olan vasitələri ya biz yaşayır tökülmək və ya
biz kərpic tökülmək.
>> Biz Belə ki, ilk şey Click üçün gözləyin deyil.
Belə ki, oyun bizim üçün gözləyir əslində top hərəkət başlayır əvvəl basın.
Və sonra biz olacaq həyatını azalma.
Beləliklə, biz üç yaşayır olsaydı, indi biz istəyirik iki həyatına aşağı, biz istifadə etdiyiniz
üçüncü həyat.
Biz topu olacaq.
Belə ki, indi, bu həqiqətən kömək etmək niyyətində deyil biz oynamaq çox ilk həyat us
top artıq gedir ildən zaman biz mərkəzi edilmişdir
onu instantiated.
Biz itirmək qədər başa Lakin görürük həyat və geri ətrafında loop, sonra biz istəyirik
topu recenter etmək istəyirəm geri board alt
mərkəzi.
>> Belə ki, indi burada biz yaratmaq lazımdır top x sürət.
Və spec kimi, biz d Rand istifadə etdiyiniz 48 bəzi təsadüfi sıra yaratmaq üçün
sürət müəyyən etmək.
Biz ildən ilə bir əlavə etdiyiniz yalnız bir sıra sürət istəyirəm
iki əvəzinə bir sıfır üçün.
Nəhayət, biz yenə d Rand 48 istifadə etdiyiniz olub topu müəyyən etmək üçün
sola hərəkət edir və ya sağ başlamaq üçün.
>> Belə ki, d rand 48 bir təsadüfi sayı qaytarır sıfır və bir arasında və belə soruşaraq
ki, az 0.5, biz 50 50 var sürət kommutasiya şans
top mənfi olacaq.
Nəhayət, biz şaquli sürət qurmaq top yalnız bir sabit olmalıdır.
Biz üç seçin.
Və indi biz başqa bir loop var.
>> Belə ki, bu daxili loop edir davam.
Burada qeyd kərpic isə daha böyükdür sıfır -
biz kərpic tökülmək əgər, biz var Oyun qazandı və biz
Bu loop çıxmaq -
və bütün hündürlüyü daha y Ball az alın minus 2 dəfə radius.
Belə ki, nə bu tanınması edir əgər top, avar keçmiş getmək olur
Bir həyatını itirdi etdiyiniz halda.
>> Biz loop üçün bu içərisində axtarır bir siçan hadisə üçün yoxlanılması.
Belə ki, bir siçan hadisə var ki, əgər Biz check istədiyiniz o deməkdir ki,
siçan köçürülüb əgər, və görmek siçan biz istəyirik, keçdi
avar siçan ilə ayaqlaşmaq.
Belə ki, nə üçün biz yeni hesablamaq davam edən avar, mövqeyi
siçan mövqeyi grab üçün - istifadə edərək mövqeyini Polip olan
biz qəbul edilmiş hadisə -
sonra biz çıxmaq olacaq avar eni 2 bölünür, belə ki,
siçan mərkəzi avar qalır əvəzinə avar sol tərəfində
mərkəzi olma.
>> Belə ki, indi biz də əmin olmaq istəyirəm ki, biz sol tərəfində və ya sağ üzərində getmirlər
board yan.
Və burada biz yalnız yoxlanılması əgər avar sol tərəfində off olacaq
Bu board, yalnız qalmaq sol tərəfində üçün.
Və burada biz yoxlanılması əgər avar Bu sağ artıq olardı
board, yalnız qalmaq sağ tərəfinə.
Və, nəhayət, biz faktiki olaraq müəyyən avar yeri.
>> İndi, bir mouse hərəkət yox idi əgər, ki, olacaq deməkdir
top hərəkət etmək istəyirəm.
Və biz artıq x və top y sürət
və biz onu hərəkət.
Amma indi biz aşkar etmək istəyirəm bir neçə şey.
Biz hit əgər Belə ki, burada biz aşkar edirik Bu sol və ya sağ
board, biz top sıçrayış etmək istəyirəm.
Və belə ki, halda, biz x sürət qurmaq mənfi x sürət.
>> Top board üst hit varsa, sonra da top sıçrama istəyirəm.
Amma indi biz dəyişdirmək istədiyiniz y sürət.
Biz bir vəziyyət yoxdur edək Bu alt vuraraq topu
ki, ildən board artıq tutuldu burada bu isə loop qədər.
>> Nəhayət, biz bəzi aşkar etmək istəyirəm toqquşma Ü top hit
avar və ya kərpic ya biz istəyirik bəzi xüsusi halda şeyə.
Bir toqquşma var idi əgər olan hal obyektləri, sonra null olmayacaq
obyekt avar hit əgər, biz ki, yalnız top sıçrayış etmək istəyirəm.
Və burada, həmçinin, biz yeri müəyyən yalnız avar yuxarıda top.
Biz x mövqe olduğunuz fark top və yalnız yeniden.
Amma burada biz y mövqe əldə etdiyiniz avar və top hərəkət
avar yuxarıda.
>> Bu xüsusi bir haldır ki, top avar basın və sonra, deyil
Bu avar off hərəkət edə əvvəl, başqa loop ətrafında gedir və
bu panel hələ və düşünür belə y sürət geri müəyyən edilir
mənfi və sonra top yalnız cür çubuqlar avar dönen.
Beləliklə, biz avar hit olmasaydı, sonra biz də yoxlamaq istəyirəm
biz kərpic hit əgər.
Və bu, biz kontrol edə bilərsiniz necə biz bir kərpic hit əgər görmək üçün.
>> Bunun üçün yoxlamaq lazımdır biz bilər, çünki həqiqətən etiket edib və biz
etiketi aradan qaldırılması istəmirəm.
Biz bir kərpic hit əgər Belə ki, biz edə bilərsiniz pəncərə, azalma olan kərpic
kərpic bizim sayı, arttırmayı bizim məntəqələrinin sayı, və indi biz lazımdır
dəqiq olan scoreboard yeniləmə biz görəndə əvvəl gördüm eyni kimi
init scoreboard.
Amma indi biz yalnız yenilənməsi olunur biz değiştirdik ildən scoreboard
xal sayı.
Və indi keçirmək lazımdır ki, biz bir daha fasilə edib.
>> Və, nəhayət, biz bir kərpic hit əgər biz də sıçrayış etmək istəyirəm.
Belə ki, nəhayət, biz fasilə yalnız ki, top super sürətli və biz hərəkət deyil
əslində bizim avar ilə hit bilər.
Və olduqca çox var.
Belə ki, indi biz geri üst loop ki bu isə loop qədər davam
bir həyat itirmək və ya biz kərpic tökülmək.
>> Bir həyat itirmək ne olur?
Sonra biz bu isə çıxmaq olacaq loop və biz loop geri görəcəksiniz
xarici isə loop üst.
Bu halda, biz olacaq Bu yenidən qurmaq İCRA.
Və bu, bizə gözləmək üçün gedir qurmaq bir klik üçün, bizim sayı azalma
həyatını, Yeniden, topu recenter bir x və y sürət, və
sonra oyun davam.
>> Və belə ki, davam edəcək, ya qədər kərpic-dən az olan qədər başa çatır
və ya sıfıra bərabər -
olan biz oyun qalib halda -
və ya yaşayır, az sıfır olan halda biz oyun itirmişdir.
Ki, işi bir dəfə ki, biz çıxmaq ki, isə loop, və biz burada çatmaq
biz klik üçün gözləmək niyyətində olduğunuz Oyun mövcud əvvəl ki
oyun yalnız dərhal deyil bizə yaxın.
Və nəhayət biz yaxın olacaq pəncərə və bu.
My name Rob və bu Breakout idi.