>> ROB BOWDEN Cześć.
Jestem Rob.
Zastanawiasz się, jak wdrożyć tę grę?
Cóż, wyrwać się Rozwiązanie personel.
>> Tak, niech najpierw głową w dół do init Funkcje, które mówiłem do
realizacji w pierwszej kolejności.
Pierwszy z nich będziemy spojrzeć startowych na to jest wiosło.
W porządku, więc pamiętaj, że chcemy wiosła być dokładnie na środku
osi x.
Musimy więc dowiedzieć się, gdzie to powinno iść.
>> Biorąc pod uwagę szerokość deski - które zdefiniowany jest także hash do góry -
musimy odjąć szerokość łopatki i dzielenie przez 2, a więc
Środek łopatki jest centrum planszy.
Pamiętaj, że współrzędna x odnosi się do lewy górny róg łopatki,
i tak to jest dokładnie tam, gdzie chcemy go mieć.
Współrzędna y nie ma znaczenia tyle, ponieważ możemy umieścić
że wszędzie tam, gdzie chcemy.
Więc instancji wiosła, ustawiamy kolor czarny, ustawiamy na True wypełnienia
więc jest wypełniony prostokąt, a my następnie dodać go do okna i powrót
wiosło.
I to jest to dla inicjowania wiosło.
>> To będzie podobne dla init tablicy wyników.
Więc mamy zamiar zainicjować etykiety, idziemy do ustawienia koloru w celu
jasnoszary - możesz wybrać cokolwiek chce - mamy zamiar ustawić czcionkę
Bezszeryfowe 48 -
może również wybrać, co chcesz -
dodamy go do okna.
Teraz ten spód nie jest naprawdę konieczne, to tylko w przypadku coś
nie dzieje się pokrywać etykietę.
Wtedy, gdy używamy Wykrywanie kolizji Wykrywania kolizji wykryje inne
rzecz zanim wykryje etykietę.
Ale to naprawdę nie powinno wpływać na nam w tym programie.
>> Wreszcie, mamy tę aktualizację tablicy wyników funkcji, które napisał.
Warto więc spojrzeć na to.
Teraz, tutaj widzimy coś, co jest prawie identyczny, co
widzieliśmy w label.c.
Więc mamy etykietę -
bufor znaków 12 znaków, która wystarczy do obsługi dowolnego
całkowitą, negatywny lub pozytywny.
Wtedy możemy użyć sprintf skopiować wskazuje w tym buforze.
Tak, to jest zawiera ciąg reprezentujący ilość punktów.
>> Wreszcie, możemy ustawić etykietę do tego łańcucha.
A potem musimy koncentrować etykietę w przypadku zaszliśmy od dziewięciu do 10
punkty i mamy przesunął go.
Więc obliczyć X i Y współrzędnych z etykietą, która zostanie
uzyskać szerokość i wysokość okna.
Chociaż, może też po prostu użyć Stałe Szerokość i Wysokość krzyżyka
zdefiniowane się szczyt.
Mamy również uzyskać szerokość i wysokość etykiety i podziału
że przez 2 do centrum.
A następnie używamy Położenie rzeczywiście umieścić go w tym miejscu.
Tak, to jest to dla init tablicy wyników.
>> OK.
Więc startowych piłka będzie bardzo podobny init wiosła, jak również.
Widzimy tutaj, że używamy newgoval w celu utworzenia wystąpienia nową piłkę.
I tutaj używamy 2 razy promień jak szerokość piłki i 2
razy promień jak wysokość piłki.
Teraz, również za newgoval, x i współrzędna y, które mijamy w dzieje
odnieść się do góry po lewej stronie piłka, która jest faktycznie
poza tym samym kulki.
Tak żeby dostać piłkę dokładnie na środku planszy, musimy przejść
szerokość podzielona przez 2 do centrum, i następnie odjąć promień naciskać
rzeczywiste centrum piłkę w centrum planszy.
I robimy dokładnie to samo na osi y, za wyjątkiem
Wysokość zamiast szerokości.
>> Tak, że umieszcza piłkę w środku.
I to wystąpienie piłkę, ustawić kolor na czarny, wypełnienie piłki,
następnie dodać go do okno i powrócić.
I to jest to dla inicjowania piłka.
>> Teraz rzućmy okiem na init, cegły, który jest nieco bardziej
skomplikowane, ale jest to dość podobne ROZPOCZ.NIEMOŻL łopatki.
Teraz, najpierw musimy dowiedzieć się, Szerokość każdej z cegieł.
Pamiętaj, że mamy stałą o nazwie Połączenia, które określa
Liczba kolumn cegieł że mamy.
Tak, jedziemy do pomiaru szerokości z jednej cegły, przyjmując szerokość
całego zarządu, odejmując z wielkości naszego szczeliny -
który jest zdefiniowany skrót odnosi się do góry i liczby pikseli,
powinna wynosić od każdej z cegieł -
i tak będziemy mieć w sumie razy gap zwraca puste piksele
jednorzędowe.
I że będzie również odnosić się do niektórych puste pikseli na lewo i prawo
lewej i prawej kolumny cegła kolumny.
>> Więc odjąć te puste pikseli pozostawia nas z kilku pikseli, które
Cegły są rzeczywiście używane.
A następnie podzielić przez rozmowy, aby liczba pikseli na cegły.
Więc tutaj możemy zdefiniować tablicę tylko określa kolory chcemy dla każdego
Wiersz z cegły.
Gdybyśmy mieli więcej niż rzędy cegieł kolory, które określone, zobaczymy
że będziemy tylko i pętla powraca ponownie użyć czerwony i pomarańczowy, a następnie
żółty i tym podobne.
>> Tak, jak p-set podpowiedzi SPEC, jesteśmy będzie pętli na wszystkich wierszy i
Kolumny z cegieł.
Ale zanim pętli nad kolumnami, my zobacz tutaj, że jesteśmy określając
Pozycja Y każdej cegły w danym rzędzie.
Możemy również przenieść to na sekundę dla pętli, ale wtedy byśmy po prostu być
robić obliczenia w kółko ponownie, gdy nie trzeba.
>> Tak więc pozycja y z cegły będzie jest marża, która jest hash
zdefiniowane się góry i po prostu odnosi się do Przestrzeń pomiędzy wierzchem płyty a
Początek wszystkich cegieł.
I mamy zamiar dodać do tego wiersza że jesteśmy w czasach wysokość
indywidualnej oraz luka cegła to jest między każdą z cegły.
Więc to jest również w pionie przerwa między każdym cegły.
Tak, że daje nam współrzędna y klocka.
>> Więc idziemy do obliczenia współrzędna x cegły.
Teraz mamy przerwę podzielona przez 2, ponieważ, pamiętam wcześniej, powiedział, że na
lewa strona rady, idziemy zostawić trochę miejsca.
Więc przepaść dzieli się przez 2 jest to, że przestrzeń.
, A następnie dodajemy do tego kolumna że jesteśmy w czasach szerokość Plus
Luka, gdzie szerokość jest ilość miejsca że pojedyncza cegła i zajmuje
to różnica jest przestrzeń między każdym cegły.
Tak, że oblicza współrzędna x klocka.
>> Teraz musimy tylko instancję cegła ponieważ X i Y-współrzędna
za pomocą szerokości, które oblicza się dla każdego których wysokość cegły, a przerwa jest
hash zdefiniowany się szczyt.
Ustawiamy kolor cegły.
Zauważ, że używamy naszej tablicy kolorów i przekazujemy w wierszu, które były
num na nowoczesne kolory, które nie będzie się nam owinąć powraca na czerwony, jeśli
ma więcej wierszy niż kolorach.
Wreszcie, my wypełnimy cegły kolor i dodać go do okna.
>> I to jest to.
Tak, to jest to dla wszystkich naszych metody inicjalizacji.
Teraz musimy patrzeć na ten czas pętla, którą miał do wypełnienia
Więc widzimy, że to jest nasz, gdy pętla, która będzie trwać do
Gra kończy się, które albo środki zabraknie życia lub
zabraknie cegieł.
>> Tak więc pierwszą rzeczą, którą musimy jest Czekaj na Click.
Więc gra czeka na nas do rzeczywistości kliknij, aby przed rozpoczęciem piłkę w ruchu.
A następnie jedziemy aby zmniejszyć życie.
Więc jeśli mamy trzy życia, teraz jesteśmy do dwóch życiu, jesteśmy za pomocą naszego
trzecie życie.
Jedziemy do centrum piłkę.
Więc teraz, to naprawdę nie pomoże nas na pierwszym życiu gramy
ponieważ piłka będzie już została skupiona z kiedy
instancja go.
Ale widzimy, kiedy kończy się utratą Życie i pętla powraca, to jesteśmy
będzie chciał, aby pojawiło się ono na spotkaniu z Dno tablicy z powrotem do
Centrum.
>> Tak, teraz tutaj musimy wygenerować x prędkość piłki.
I, jak na spec, używamy d rand 48, aby wygenerować jakiś losowy numer
określić prędkość.
Dodajemy jeden do, że ponieważ tylko ma prędkość w zakresie od jednej
do dwóch, a nie od zera do jeden.
Wreszcie, jesteśmy ponownie przy użyciu d rand 48 w Aby ustalić, czy piłkę
będzie poruszać się w lewo lub w prawo, aby rozpocząć.
>> Tak d rand 48 zwraca liczbę losową od zera do jednego, i tak, zadając
jeśli jest to mniej niż 0,5, mamy 50 50 szansa na przełączanie prędkości
Piłka być ujemna.
Wreszcie, możemy ustawić prędkość pionową Piłka po prostu być jakiś stały.
Mamy do wyboru trzy.
A teraz mamy kolejną pętlę.
>> Więc to jest wewnętrzna pętla zamierza kontynuować.
Zauważyć tutaj, a cegły jest większa od zera, -
więc jeśli zabraknie cegieł, mamy wygrał grę i możemy
wyrwać się z tej pętli -
i wszystko Get r Ball mniej niż wysokość minus 2 razy promień.
Więc co to jest, czy rozpoznawanie Piłka dzieje się przejść obok łopatki, w
wówczas tracisz życie.
>> Patrząc na to w środku pętli mamy sprawdzenie na zdarzenia myszy.
A więc, jeśli jest zdarzenie myszy, które Oznacza to, że chcemy, aby sprawdzić,
sprawdź, czy mysz przeniesiono i jeżeli Mysz została przeniesiona, chcemy mieć
łopatka nadążyć za pomocą myszki.
Tak więc, aby to zrobić, musimy obliczyć nowy Położenie łopatki, które zamierza
chwycić pozycję myszy - który chwyta pozycję za pomocą
Wydarzenie, które zostały przekazane -
a następnie jedziemy do odjąć Szerokość łopatki podzielona przez 2, więc
pobyty kajaki skupione na myszy , zamiast z lewej strony łopatki
pobyt na środku.
>> Więc teraz my też chcemy być pewni, że nie idź na lewej stronie lub prawej
stronie płytki.
A więc tutaj jesteśmy po prostu sprawdzenie, czy łopatka będzie się po lewej stronie
deska, tylko trzymać jej lewej stronie.
I tu mamy do sprawdzenia, czy łopatka będzie na prawej stronie
deska, tylko trzymać go po prawej stronie.
I w końcu, tak naprawdę ustawić Położenie łopatki.
>> Teraz, jeżeli nie był ruch myszy co oznacza, że ​​będziemy
chcą, aby przenieść piłkę.
I tak mamy już X iy prędkość piłki
i tak go przenieść.
Ale teraz chcemy wykrywać Kilka rzeczy.
Więc tutaj mamy do wykrywania, czy trafiliśmy albo lewej lub prawej stronie
wyżywienie, chcemy, aby odbić piłkę.
I tak, w tym przypadku, że zbiór X prędkość ujemnej x prędkość.
>> Jeśli trafił górze planszy, następnie chcemy również odbić piłkę.
Ale teraz chcemy zmienić prędkość r.
Zauważ, że nie ma warunków do Piłka uderza w dno
wyżywienie ponieważ został już schwytany tutaj w tej pętli while.
>> Wreszcie, chcemy wykryć niektóre kolizji, w których, jeśli hit piłka
albo łopatka lub murowany, chcemy zrobić kilka specjalnych przypadków rzeczy.
Tak więc, jeśli nie było kolizji, w którym obiekty przypadków nie będzie pusty, a następnie,
jeśli obiekt uderzył w wiosła, bylibyśmy po prostu chcę, aby odbić piłkę.
I tu także, możemy ustawić lokalizację Piłka tuż nad łopatką.
Zauważ, bierzemy na położenie x piłkę i po prostu ponowne to.
Ale tutaj dostajemy pozycję y z wiosłem i przesuwając piłkę
powyżej łopatki.
>> To jest specjalny przypadek, tak aby piłka nie uderzył w wiosła, a potem,
zanim będzie w stanie poruszać się wiosła, kolejna pętla idzie się i
to myśli, że jest nadal na panelu i więc prędkość r zostaje cofnięty do
ujemna, a potem po prostu rodzaj piłkę laski podskakują na łopatki.
Tak więc, jeśli nie uderzył w wiosła, wtedy także sprawdzić
jeśli uderzył w cegłę.
I tak to jest, jak możemy sprawdzić aby sprawdzić, czy mamy uderzyć cegłę.
>> Musimy sprawdzić, czy to dlatego, że może faktycznie hit etykietę i
nie chce usunąć etykietę.
Jeśli więc uderzył w cegłę, że możemy usunąć murowany z okna, ubytek
nasza Ilość cegieł, zwiększamy nasze ilość punktów, a teraz musimy
zaktualizować wynik, który jest dokładnie same, jak widzieliśmy wcześniej, kiedy widzieliśmy
startowych tablicy wyników.
Ale teraz jesteśmy po prostu aktualizacji Tablica wyników, ponieważ zmieniliśmy
ilość punktów.
I powinien teraz wyświetlać że trafiliśmy jedną przerwę.
>> I w końcu, jeśli mamy hit murowany Chcemy również, aby odbić.
Więc w końcu, możemy wstrzymać tak, że piłka nie jest w ruchu bardzo szybko, a my
może faktycznie uderzyć go z naszej łopatki.
I to jest dość dużo.
Więc teraz my by pętla z powrotem na górę to pętla while, aż do czasu
albo możemy stracić życie lub zabraknie cegieł.
>> Co się stanie, jeśli stracisz życie?
Następnie jedziemy do wyjść z tego czasu, pętla, a my zobaczymy, pętla wykona kopię
do górnej zewnętrznej pętli while.
W tym przypadku, będziemy wykonać to ustawić ponownie.
I to skonfigurować będzie miał nam czekać za kliknięcie, zmniejszamy nasz numer
o życiu, pojawiło się ono na piłkę, przeliczyć prędkość x i y, a
następnie wznowić grę.
>> I tak, że będzie w dalszym ciągu, aż albo cegły kończy się mniej niż
lub równe zeru -
w takim przypadku wygraliśmy grę -
mieszka lub jest mniejsza od zera, przy czym Sprawa straciliśmy grę.
Tak, raz tak jest, łamiemy się tej pętli while, i dochodzimy tutaj
gdzie będziemy czekać na kliknięcie Przed opuszczeniem grę tak, że
Gra nie tylko bezpośrednio zamknąć na nas.
I wreszcie będziemy zamykać okno i to jest to.
Nazywam się Rob, i to był Breakout.