>> DAVID Malan: Pieņemsim uzrakstīt programmu iesaistot logu un apli ar
aplis veselīgs un atpakaļ off pa kreisi un pa labi
malas šo logu.
Lai to izdarītu, pieņemsim izmantot Stenfordas Portable bibliotēka, un pieņemsim vispirms
ietver gevents.h lai mēs varētu klausīties peles kustībām.
Pieņemsim tad ir iekļauts gobjects.h lai mēs varam paziņot, lietas, piemēram, ovāli vai
aprindās, tiešām.
Un tad pieņemsim ietver gwindow.h lai mums ir grafisko logu
viss.
>> Pieņemsim deklarēt galvenais parastajā veidā.
Un pieņemsim tagad deklarē un instantiate vai izveidot šo logu, GWindow -
un mēs aicinām mainīgo logu -
izpaužas newGWindow.
Un mēs patvaļīgi padara 320 pikseļi ar 240 pikseļi.
>> Pieņemsim nākamā instantiate apli.
Bet instantiate šo apli, mums ir jādara mazliet vairāk darba.
Jo īpaši, pieņemsim aizpildiet šajā lokā tā, ka visa lieta ir
melnā un ne tikai izklāstīt to.
GOval -
mēs to saucam aplis -
izpaužas newGOval.
Mēs nodot šo ovāla 0, 110, un mēs padara ovālo 20 pikseļus plats
20 pikseļus augsts - citiem vārdiem sakot, diametrs 20 vai rādiuss 10.
>> Let 's tagad ir noteikts krāsu, ka apļa būtu citēt, likt pēdiņas beigās, "melnā krāsā." Pieņemsim
tagad noteikti ir jāaizpilda norādot taisnība.
Un tagad visbeidzot, pieņemsim pievienot apli logs šādi, kuru
pēdējais ir pievienots pirmajam.
>> Pieņemsim tagad pasludināt dubultā.
Mēs to saucam par ātrumu.
Un nedaudz patvaļīgi, teiksim ātrums šajā lokā būs
2.0, citiem vārdiem sakot, 2 pikseļi par katru laika vienībā.
Un tagad pieņemsim apzināti izraisīt bezgalīgu cilpu.
>> Tātad, kā padarīt šo apli lielība un atpakaļ?
Nu pieņemsim šajā cilpa, kas par katru laika vienībā, mēs
būs tikai nedaudz pārvietot apli bit, pamatojoties uz tās ātrumu 2 pikseļiem
laika vienībā.
Bet nepārtraukti, mēs esam nāksies pārbaudiet, vai aplis pieskaras
labi ekrāna malu vai pa kreisi malu ekrāna, jo, ja tas tā ir, mēs
vajag, lai lielība, lai runāt.
>> Kā ieviest jēdziens veselīgs?
Labi, ja mēs ejam uz 2 pikseļiem līdz labais laika vienībā, lai lielība off
labās malas, mēs varam vienkārši mainīt tas būs negatīvs 2 pikseļi uz vienu vienību
laiku, tādējādi liedzot ātrumu.
Tātad faktiski, veselīgs ir salīdzinoši vienkārši.
>> Pieņemsim vispirms pārvietotu apli ar to daudzi pikseļi pa x-ass, ar šo
daudz pikseļu pa y asi.
Citiem vārdiem sakot, mēs negribam, lai pārvietoties pa y asi vispār.
Mēs tikai gribam, lai piepeši atpakaļ un tālāk pa kreisi un pa labi.
>> Un pieņemsim tagad pārbauda šajā cilpas, ja x-koordinātu apļa plus
platums apļa ir lielāks par vai vienāds ar
platums loga -
citiem vārdiem sakot, ja aplis atrašanās vieta plus platums apļa
pati tagad ir pagātne malas loga, mēs gribētu
labāk mainīt savu ātrumu -
ātrums izpaužas negatīvu ātrumu, tādējādi flipping pozitīvs
negatīva vai negatīva pozitīvu.
Bet ko tad, ja aplis virzās no no labās uz kreiso, un tāpēc tas hits
kreisajā malā?
Citiem vārdiem, ja x-koordināta Tagad aplis ir mazāks par vai vienāds
līdz 0, iesim uz priekšu un atkal invertcukuru mūsu ātrumu.
>> Tātad, kāpēc man nav pievienoti platums apļa šo
laiks, kā es to darīja agrāk?
Nu, paturiet prātā, ka koordinātes objekta ir definēti
tās augšējā kreisajā stūrī, nevis tās vidū.
Un tad, kad aplis virzās no kreisās uz labo pusi, mums ir nepieciešams, lai pārbaudītu
vai labā mala aplis ir pagājis
labo malu loga.
Tātad, lai noskaidrotu, kas tas ir, mēs esam lai iegūtu x-koordinātu apļa
plus platums apļa, lai pārvietotos sevi no augšējā kreisajā
stūra, efektīvi, lai augšējā labajā stūrī.
Kad aplis virzās no tiesībām pa kreisi, tikmēr mums nav nepieciešams
apgrūtināt ar šādu Turklāt, jo augšējā kreisajā stūrī apļa ir
jau ir vērtība, mēs saņemt no get x.
>> Pieņemsim tagad ripināt bumbu.
Pieņemsim tagad glābt, apkopot un palaist šo programmas, veikt lielība. / lielība.
Un tur mums ir programma.
>> Bet aplis virzās tik darn ātri, tas ir gandrīz neiespējami, lai redzētu, kas ir
patiesībā notiek.
Tātad, pieņemsim diezgan programmu spēku ar noklikšķinot uz X augšējā labajā
stūra šeit.
Pieņemsim tagad iet atpakaļ uz pirmkodu un lēni lietas leju mazliet.
>> Citiem vārdiem sakot, šajā termiņā bezgalīgs cilpa, nevis tikai un pārvietot un
pārvietot un atkal, ad nauseum, pieņemsim vilkties tikai dažas milisekundes
Pirms uzsākt pārvietoties vēlreiz.
Jo īpaši, iesim uz leju par bezgalīgu cilpu šeit un vienkārši
pauzes uz, teiksim, 10 milisekundes par katru atkārtojuma.
Pieņemsim tagad recompile un atkārtoti palaist lielība.
Un tagad mēs redzam daudz saprātīgu īstenošanu, kur mēs varam redzēt
aplis patiesi veselīgs kreiso un labo malu.