>> [Mūzikas atskaņošanai]
>> SPEAKER 1: Nu, šeit mēs esam, pēdējā P kopa ar CS50.
Apsveikt sevi no tā, nonākusi tik tālu, jo savu pirmo sveiki
pasaulēm un izdrukāšana piramīdas Mario.
Jūs, kas mājas lapā pagājušajā nedēļā.
Un mēs ejam, dod vēl vienu šonedēļ, viens, kas ļauj
vadīt ap Hārvardas universitātes, izvēloties līdz CS50 darbinieki, un
apvienojot tos atpakaļ uz savu dzīvojamās mājas.
>> Tagad pagājušajā nedēļā mēs strādājām PHP, servera puses valoda.
Šim P kopumu, mēs esam kļūst ieviesti JavaScript, kas
klienta puses valoda.
Tātad, pieņemsim to apskatīt dažus no sadales kodu, kas ir sniegta
jūs par šo P komplektu.
>> Jo JavaScript mapē, tur būs būt ķekars JavaScript failus.
Ir buildings.js, kas satur masīvs ēku ap Harvard
Campus, ar to informāciju un amats.
Houses.js ir masīvs Harvard dzīvojamās mājas, ar to
platuma un garuma grādi.
Passengers.js satur masīvs pasažieru -
tad CS50 darbinieki -
ka jūs celt atpakaļ viņu dzīvojamās mājas.
>> Math3D.js, kas satur daudz funkcijas, ko darīt ar kustību.
Ja jūs esat matemātiski domājošiem, tad es atzinīgi vērtēju jūs to apskatīt.
Bet jums nav nepieciešams, lai izprastu viss tur.
Shuttle.js, kas nodarbojas ar shuttle kustību.
Un index.html ir mājas lapa, kur viss notiek, tiešām, ja
Lietotājs mijiedarbojas ar vietu.
>> Service.css ir CSS stila lapas, , kurš papildus uz čivināt
Sāknēšanas bibliotēka, kontroles kā index.html izskatās.
Un tad mums ir arī service.js, kas satur dienesta funkcijas
maršruta autobuss.
Un šeit ir, ja jūs esat būs Aizpildot kādu no to dos.
>> Tagad pieņemsim apskatīt objektu un asociatīvas bloki Javascript,
kas attiecībā uz visiem nolūkiem un ir savstarpēji aizvietojami.
Ja es gribēju, lai objekta mainīgo sauc zizlis, es vēlētos
jādeklarē.
Un iekšpusē tiem cirtaini bikšturi es vēlētos norādiet kodols ir vienradzis.
Koksne ir ķiršu.
Un garums ir 13.
>> Tagad es varu piekļūt arī vērtības objektu, izmantojot
asociatīvā masīva notācija.
Tāpēc zizlis indekss kodols, es varu iestatīt kas vienāda ar vienradzis, vai
pārbauda, ​​vai, ja man vajag.
Vai es varu izmantot dot operatoram.
Zizlis dot koka vienāds ķiršu, un tā tālāk, un tā tālāk.
Tātad jūs redzat, ka asociatīvas bloki un objekti JavaScript būs
savstarpēji aizvietojami, un būs nonāk diezgan parocīgs.
>> Tad mēs redzam virkni ēku in buildings.js.
Atkal, masīvs objektiem.
Ja es gribēju, lai masīvu labākajiem ēkas uz Hārvarda universitātes pilsētiņā, tad
Es būtu to šādi.
Izmantojot šo objektu apzīmējumu, ja Es glabāt saknes, nosaukumu, adresi,
platuma un garuma par katru viena ēka objekts.
>> Pieņemsim ātri runāt par mainīgajiem JavaScript.
Piemēram, PHP, JavaScript mainīgie ir vāji vai brīvi drukāti.
Lai izveidotu vietējās mainīgo, jums prefiksu mainīgā nosaukums ar V-A-R, var.
>> Tagad JavaScript, funkcijas ierobežot mainīgo.
Tātad, ja jums ir vietējās mainīgais laikā funkciju, tad citas funkcijas
nevar piekļūt.
Bet atšķirībā no C, cilpas un nosacījumi nav ierobežot mainīgo.
>> Tātad, pat ja jums paziņo, ka tā iekšpusē nosacījums, visa funkcija
tai piekļūt.
Tagad bez VAR, mainīgais būs globāla.
Tātad, ja jūs vienkārši atzīt vārdu un piešķirtu vērtību, tad mainīgais
būs pasaules mainīgais JavaScript.
>> Tagad mājas, mums ir asociatīvā masīvs mājas tipa objektiem, kur
katrā mājā ir tikai platuma un garuma.
Tad mums ir pasažieriem bloku, kas ir masīvs
objekta veids pasažieri.
Tātad, katram pasažierim ir lietotājvārdu, vārdu, un māja.
Ievērojiet, ka es esmu redzēt tipa pasažieru, kas patiesībā nozīmē tikai to,
ka katrs objekts ir pati galvenā vērtība pāri.
Līdz ar to katrs objekts tipa pasažieris lietotāja vārds, vārds, un māja.
>> Tātad, ko mums vajag darīt P komplektu?
Nu, mums ir nepieciešams, lai ļautu lietotājiem izvēlēties up darbiniekiem, lai parādītu visas
personāla locekļiem, kas pašlaik mūsu transfērs, un nomest tos off.
Un tad mēs runāsim arī par papildu funkcijas, ko var īstenot, lai
shuttle P komplektu.
>> Bet parunāsim par pikaps pirmās.
Par CS50 darbinieku sejas ir stādīt visā universitātes pilsētiņā, kur katra
seja tiek īstenota kā vieta zīmi uz 3D zemes, un kā
marķieris uz 2D kartē.
Tātad, ja lietotājs noklikšķina uz pikaps pogu, mēs vēlamies, lai pievienotu tuvumā
pasažieriem uz atspole.
Un mēs arī vēlamies, lai izņemtu savu vietu iezīmēt no pasaules, un izņemiet to
marķieris no kartes, kas norāda, ka viņi ir mūsu autobuss tagad.
>> Tātad, kā mēs atklāt, ja pasažieri ir diapazonā no mūsu autobuss?
Nu, funkcija attālums -
tāpēc shuttle dot attālumu, kas iet platuma un garuma, būs
aprēķināt attālumu no strāvas pozīcija transportu uz
norāda, ka jūs norādāt ar to ņemot vērā, platuma un garuma.
Tātad jūs varat izmantot šo, lai aprēķinātu attālums no atspole līdz
pasažieri.
>> Bet kā jūs zināt, kur pasažieriem ir?
Nu, tas ir, ja mums nāksies rediģēt aizpildīt funkciju.
Aizpildīt Vietas visi darbinieki un pasažieri uz pasauli,
un uz kartes, bet nav saglabāt savu atrašanās vietu.
Tāpēc varbūt jūs varat saglabāt savu izvietot zīmes un marķieri
Dažās pasaules masīvā.
>> Tagad jau ir globāla masīvs uzglabāt informāciju no pasažieriem.
Pasažieri masīvs veikali katrs pasažiera vārds un viņu māja.
Tāpēc varbūt jūs varat pievienot dažus parametrus tur pasažieru objektiem.
>> Lai palīdzētu mums atklāt visus pasažierus diapazonā no mūsu transfērs, pieņemsim
cilpa ar visiem pasažieru ar pasažieru masīvā.
Lai cilpa JavaScript varētu izskatīties kaut kas līdzīgs šim, ir ļoti līdzīgi
tiem, cilpa C. Vai mēs varam izmantot alternatīva cilpas struktūru.
>> VAR i masīvs, kur es joprojām būs indekss.
Bet jums nav nepieciešams norādīt masīvs dot garums
stāvoklī, un es plus plus.
Katra pasažiera atrašanās vieta ir ņemot vērā to vietu zīmes.
>> Bet vietā zīme nav platuma un garuma.
Mums ir piekļūt šiem parametrus kļūst ģeometriju, izmantojot get
ģeometrija uz vietas zīmi.
Un tad, kad mums ir ģeometrija, kļūst vai nu platuma vai
garuma, izmantojot šo funkciju.
>> Tātad tagad mēs zinām, kā noteikt, vai pasažieri atrodas
klāstu mūsu autobuss.
Pēc tam, kad mēs esam tos pasažierus, mēs vēlaties pievienot pasažieri, kas ir
šajā diapazonā.
Mēs vēlamies, lai ļautu viņiem apiņu, un veikt vietu uz mūsu transfērs, bet tikai
ja mums ir pietiekami daudz vietas viņiem.
>> Shuttle dot sēdekļi masīvs norādīt, vai sēdvietas ir tukšas, vai
kurš šajā sēdeklī.
Tātad, ja sēdeklis ir tukšs, tad ka vieta būs spēkā.
Tāpēc atkārtot virs vietas masīvs, pārbaudot tukšu vietu, uzglabājot
pasažieri uz šiem sēdekļiem, kamēr jūs nav nekādu vairāk tukšās vietas.
Un diemžēl, jebkuri citi pasažieri būs jāgaida
Nākamajā reizē shuttle nāk apkārt.
>> Pēc tam, kad viņi saņem uz atspole, mēs gribam lai novērstu to vietu zīmi, kas
ir viņu foto šajā 3D pasaulē.
Ja es gribēju noņemt vietu zīmes p, tad es varētu saņemt visas funkcijas
no manas zemes, no Google Earth, un tad noņemt, ka konkrētā vietā
atzīmēt izmantojot removeChild funkciju.
Tad visbeidzot, pieņemsim noņemiet marķieri, ikona uz 2D kartē jebkura
pasažieru, kas mums ir pacelt.
Lai noņemtu marķieris, m, tad es ņemšu vienkārši izpildīt m dot setMap null.
Vai šis visu pasažieru diapazonā, un esat pabeidzis pikaps.