1 00:00:00,000 --> 00:00:11,010 2 00:00:11,010 --> 00:00:11,965 >> TOMAS REIMERS: Cool. 3 00:00:11,965 --> 00:00:13,230 Så hej, alla. 4 00:00:13,230 --> 00:00:14,300 Mitt namn är Tomas. 5 00:00:14,300 --> 00:00:15,744 Jag är en TF och detta är 6 00:00:15,744 --> 00:00:16,660 ARMAGHAN BEHLUM: Armi. 7 00:00:16,660 --> 00:00:17,637 Trevligt att se er. 8 00:00:17,637 --> 00:00:18,470 TOMAS REIMERS: Cool. 9 00:00:18,470 --> 00:00:20,740 Så vi kommer att prata om Leap Motion idag. 10 00:00:20,740 --> 00:00:22,800 Så Leap Motion är en riktigt cool produkt som 11 00:00:22,800 --> 00:00:25,900 låter dig interagera med en dator på ett annat sätt. 12 00:00:25,900 --> 00:00:28,560 Så hela idén bakom Leap Motion är att du 13 00:00:28,560 --> 00:00:31,430 kan använda händerna till interagera med datorn. 14 00:00:31,430 --> 00:00:33,610 Så här har jag något inrättas. 15 00:00:33,610 --> 00:00:34,790 Jag ska prata om det i en bit. 16 00:00:34,790 --> 00:00:37,540 Men den grundläggande versionen är att du kan se att jag har mina händer framför 17 00:00:37,540 --> 00:00:42,840 av min dator och när jag flyttar dem, du får den analoga på datorn 18 00:00:42,840 --> 00:00:44,170 och du kan analysera detta. 19 00:00:44,170 --> 00:00:46,230 Du kan göra gester. 20 00:00:46,230 --> 00:00:49,176 Du kan använda dina händer för att interagera med datorn 21 00:00:49,176 --> 00:00:50,300 i ny och intressant sätt. 22 00:00:50,300 --> 00:00:55,550 23 00:00:55,550 --> 00:00:57,520 >> Tja, jag faktiskt först vill förlöpa till Armi 24 00:00:57,520 --> 00:01:00,400 visa några häftiga demonstrationer av vad vissa människor har gjort med detta. 25 00:01:00,400 --> 00:01:02,816 Och sedan ska vi prata om hur du faktiskt koda med detta. 26 00:01:02,816 --> 00:01:04,800 ARMAGHAN BEHLUM: Yeah. 27 00:01:04,800 --> 00:01:05,300 Hej. 28 00:01:05,300 --> 00:01:08,870 Så när vi såg, lite uppgifter här, men låt oss se 29 00:01:08,870 --> 00:01:11,680 vad vissa människor har gjort med detta. 30 00:01:11,680 --> 00:01:15,130 Så låt mig bara öppna upp det här exemplet. 31 00:01:15,130 --> 00:01:20,770 Och sedan, så till exempel kan du se min hand analog där, men nu denna gång 32 00:01:20,770 --> 00:01:26,680 vissa människor använder Unity har beslutat att lägga lite mer hud 33 00:01:26,680 --> 00:01:28,670 och sånt runt handen. 34 00:01:28,670 --> 00:01:35,900 Så jag kan, låt oss gå med här, säker, har mina händer interagera. 35 00:01:35,900 --> 00:01:41,050 Och du kan nog tänka sig en par andra coola användbara saker 36 00:01:41,050 --> 00:01:42,840 att du kan göra med detta. 37 00:01:42,840 --> 00:01:45,530 Så detta är åtminstone ett exempel. 38 00:01:45,530 --> 00:01:48,910 Och sedan ska vi hoppa ut ur detta. 39 00:01:48,910 --> 00:01:56,590 >> Och sedan en annan cool en är, låt oss gå med här. 40 00:01:56,590 --> 00:01:58,390 Plasmo boll. 41 00:01:58,390 --> 00:02:03,510 Igen, vi skulle inte nödvändigtvis förvänta sig denna nivå av komplexitet 42 00:02:03,510 --> 00:02:06,450 från ett slutprojekt för CS50. 43 00:02:06,450 --> 00:02:10,029 Detta är bara för att visa dig några av, ger ni 44 00:02:10,029 --> 00:02:14,570 lite inspiration för vad ni kan göra med Leap Motion. 45 00:02:14,570 --> 00:02:20,500 Så till exempel här är en cool fysik exempel där det går vi. 46 00:02:20,500 --> 00:02:24,305 Har båda mina händer så nu har denna lilla plasma boll. 47 00:02:24,305 --> 00:02:31,030 Och bollen reagerar på fysiken om mig flytta min hand runt bollen. 48 00:02:31,030 --> 00:02:36,920 Nu är det här allt om du använder Unity, använder typ av verktyg och ramverk 49 00:02:36,920 --> 00:02:39,510 att vi inte har lärt ni i klassen, 50 00:02:39,510 --> 00:02:46,590 men som ni kan se några ganska coolt run ingar med det. 51 00:02:46,590 --> 00:02:51,750 >> Men en sak som ni kan göra man börjar just nu med Leap Motion 52 00:02:51,750 --> 00:02:53,260 är arbete i JavaScript. 53 00:02:53,260 --> 00:02:58,960 Leap Motion har en JavaScript API som ni kan använda och vi mycket, mycket 54 00:02:58,960 --> 00:03:02,040 rekommenderar att ni bygger dina projekt som använder det. 55 00:03:02,040 --> 00:03:04,350 Så med det, låt mig ge det tillbaka ut till Tomas 56 00:03:04,350 --> 00:03:06,582 att prata om Leap Motion och JavaScript. 57 00:03:06,582 --> 00:03:07,415 TOMAS REIMERS: Cool. 58 00:03:07,415 --> 00:03:09,230 Eller vill du visa dem Visualizer först? 59 00:03:09,230 --> 00:03:09,670 >> ARMAGHAN BEHLUM: Oh ja. 60 00:03:09,670 --> 00:03:10,170 Ja. 61 00:03:10,170 --> 00:03:11,900 Låt oss tala mer om det Visualizer. 62 00:03:11,900 --> 00:03:14,983 >> TOMAS REIMERS: Så på en mest grundläggande nivå, när du först kommer till Leap Motion 63 00:03:14,983 --> 00:03:16,940 du kommer att ha den här rutan. 64 00:03:16,940 --> 00:03:18,330 Här, vill att jag ska ta kontroll? 65 00:03:18,330 --> 00:03:19,180 >> ARMAGHAN BEHLUM: Ja, gå för det. 66 00:03:19,180 --> 00:03:20,530 >> TOMAS REIMERS: Så när du först komma till Leap Motion 67 00:03:20,530 --> 00:03:21,780 du kommer att ha den här rutan. 68 00:03:21,780 --> 00:03:24,460 Den har en anordning som ser ut ungefär så här. 69 00:03:24,460 --> 00:03:28,990 Du ansluter den till din dator, installera nödvändiga drivrutiner, 70 00:03:28,990 --> 00:03:30,950 och då kommer det i princip att inrättas. 71 00:03:30,950 --> 00:03:34,160 Så det enklaste sättet att sortera av affär med Leap Motion 72 00:03:34,160 --> 00:03:39,240 är öppna detta program installerar kallas Leap Motion Visualizer. 73 00:03:39,240 --> 00:03:41,490 Och Visualizer är bokstavligen vad jag visar här. 74 00:03:41,490 --> 00:03:45,340 Det gör att du kan se skelett konturerna av dina händer. 75 00:03:45,340 --> 00:03:49,940 Och vad Leap Motion tolkar dem som. 76 00:03:49,940 --> 00:03:53,750 Så Leap Motion använder kameran att sortera av titt på dina händer 77 00:03:53,750 --> 00:03:59,176 och sedan den försöker gissa vad den grundläggande skelett sammansättning som du 78 00:03:59,176 --> 00:04:00,460 ser på skärmen är. 79 00:04:00,460 --> 00:04:01,669 Och det är vad det visar. 80 00:04:01,669 --> 00:04:03,418 ARMAGHAN BEHLUM: Varje enda lilla punkten 81 00:04:03,418 --> 00:04:06,580 och det som du ser det finns data som finns tillgänglig för er killar 82 00:04:06,580 --> 00:04:07,270 samt att använda. 83 00:04:07,270 --> 00:04:09,670 Så du ser att det är fånga att Tomas 84 00:04:09,670 --> 00:04:12,160 har fem fingrar, var och en av dessa olika fingrar 85 00:04:12,160 --> 00:04:17,110 är också tillgängliga för dig som data punkter att använda oavsett program 86 00:04:17,110 --> 00:04:18,256 som du kanske vill. 87 00:04:18,256 --> 00:04:20,339 Om du vill se om någon gör en tummen upp 88 00:04:20,339 --> 00:04:23,860 Du kan se om deras fingrar är böjda och om de är 89 00:04:23,860 --> 00:04:25,850 tumme finger pekar uppåt, eller där 90 00:04:25,850 --> 00:04:30,037 sin handled eller palm är och den typen av saker. 91 00:04:30,037 --> 00:04:30,870 TOMAS REIMERS: Cool. 92 00:04:30,870 --> 00:04:35,186 Så du kan se några gester det förstår bättre än andra. 93 00:04:35,186 --> 00:04:38,310 Kom ihåg, att det är att titta på din hand från vid en kamera från botten, 94 00:04:38,310 --> 00:04:41,630 så när du har dina händer som detta den förstår dem fullt ut, 95 00:04:41,630 --> 00:04:44,509 men när du börjar att försöka göra en tummen upp, ibland läser det, 96 00:04:44,509 --> 00:04:47,550 ibland kan gissa, men ärligt kameran kan bara inte se tummen. 97 00:04:47,550 --> 00:04:49,810 Så det är inte riktigt säker på vad som händer. 98 00:04:49,810 --> 00:04:54,910 Bara några begränsningar att tänka på När du utvecklar med detta. 99 00:04:54,910 --> 00:04:56,540 >> Hur som helst, så gå tillbaka till detta. 100 00:04:56,540 --> 00:04:59,040 Den Visualizer faktiskt har mycket användbara verktyg. 101 00:04:59,040 --> 00:05:01,780 Så Leap Motion är programmerad på ett sådant sätt 102 00:05:01,780 --> 00:05:04,280 att de inte förväntar sig att du ska interagera med att bilddata. 103 00:05:04,280 --> 00:05:06,230 De vet inte riktigt förväntar dig att förstå 104 00:05:06,230 --> 00:05:08,060 vad som händer bakom kulisserna. 105 00:05:08,060 --> 00:05:11,620 Vad de gör är utsätta ett gäng API för dig 106 00:05:11,620 --> 00:05:13,420 så att du kan interagera med dessa data 107 00:05:13,420 --> 00:05:18,400 direkt utan att förstå vad som händer under huven. 108 00:05:18,400 --> 00:05:27,790 >> Så om vi slog H här i Visualizer ser du en massa alternativ. 109 00:05:27,790 --> 00:05:35,450 Den viktigaste här men är om du träffar O och då slå H, 110 00:05:35,450 --> 00:05:38,080 du kommer att se att det kan du rita gester. 111 00:05:38,080 --> 00:05:43,380 Så en gest, kommer du att se den drar en pil över. 112 00:05:43,380 --> 00:05:47,010 En gest är ett av de sätt som Leap Motion slags låter dig få på uppgifter 113 00:05:47,010 --> 00:05:48,462 utan att bearbeta den. 114 00:05:48,462 --> 00:05:51,170 Så i stället för mig att behöva räkna ut, åh, var handen rör sig, 115 00:05:51,170 --> 00:05:54,970 även om jag har punkt tillgång, den API kommer sorts bara berätta, 116 00:05:54,970 --> 00:05:56,380 hey, de gjorde denna gest. 117 00:05:56,380 --> 00:05:58,920 Så du kan göra grundläggande pil gester. 118 00:05:58,920 --> 00:06:00,590 Du kan göra cirkelrörelser. 119 00:06:00,590 --> 00:06:03,530 Du kan göra knacka gester. 120 00:06:03,530 --> 00:06:07,630 Och du kan göra viktiga press gester. 121 00:06:07,630 --> 00:06:09,394 Yeah. 122 00:06:09,394 --> 00:06:10,800 Och den typen av saker. 123 00:06:10,800 --> 00:06:14,370 Så nu när vi har sortens sett vad Leap Motion kan göra, 124 00:06:14,370 --> 00:06:17,792 du kan se det kan läsa en massa gester. 125 00:06:17,792 --> 00:06:19,500 Jag tror jag ska passera det tillbaka till Armi 126 00:06:19,500 --> 00:06:22,300 och han kommer att tala om hur du får på dessa med JavaScript 127 00:06:22,300 --> 00:06:24,520 hur du ens börjar ett projekt med detta. 128 00:06:24,520 --> 00:06:27,724 Och sedan ska vi tala om några coola ställen du kan gå med. 129 00:06:27,724 --> 00:06:28,640 ARMAGHAN BEHLUM: Yeah. 130 00:06:28,640 --> 00:06:29,300 Låter bra. 131 00:06:29,300 --> 00:06:31,950 Så ja, det allra första vi kommer vill att du gör naturligtvis, 132 00:06:31,950 --> 00:06:37,170 är när du får Leap Motion är att gå till leapmotion.com, ställa upp, installera 133 00:06:37,170 --> 00:06:38,420 drivrutinerna och sånt. 134 00:06:38,420 --> 00:06:42,520 Efter gör att du kan gå se till att den är ansluten. 135 00:06:42,520 --> 00:06:46,910 Om du ser i din lilla fältet Leap Motion ikonen och det är grönt, 136 00:06:46,910 --> 00:06:48,640 då vet du att du är allt klart. 137 00:06:48,640 --> 00:06:53,710 Och naturligtvis kolla exakt vad Tomas precis visade dig med gester 138 00:06:53,710 --> 00:06:59,320 och gör skärm kranar, och nyckel kranar och den typen av saker. 139 00:06:59,320 --> 00:07:02,180 >> Efter att även om vi, återigen, som jag sa, 140 00:07:02,180 --> 00:07:06,530 Vi har tillgång till alla dessa saker i JavaScript liksom. 141 00:07:06,530 --> 00:07:09,020 Idealet inrättat att Vi rekommenderar att du 142 00:07:09,020 --> 00:07:16,440 killar är att gå in i din vhost katalog, lokal värd, 143 00:07:16,440 --> 00:07:19,340 publicerat på din CS50 apparaten. 144 00:07:19,340 --> 00:07:24,790 Och när du åker dit vad du kommer ser är en index dot HTML-fil. 145 00:07:24,790 --> 00:07:28,180 Nu när index dot HTML-fil eller index dot 146 00:07:28,180 --> 00:07:32,740 PHP-fil, beroende på vilket som är fint, vad du kan sedan göra 147 00:07:32,740 --> 00:07:35,150 är att gå till huvudoperativsystemet. 148 00:07:35,150 --> 00:07:38,650 Och om du går till IP-adressen som är upptagna i det nedre högra 149 00:07:38,650 --> 00:07:45,180 hörnet av din apparat just här, som ni kan se, vad som händer 150 00:07:45,180 --> 00:07:51,240 är du går till den sida som är refereras av detta index dot HTML-fil. 151 00:07:51,240 --> 00:07:56,610 Så all kod som du kan sätta in det får skickas och kan användas här. 152 00:07:56,610 --> 00:07:58,960 >> TOMAS REIMERS: Så det är också viktigt bara för referens 153 00:07:58,960 --> 00:08:06,554 att om ni verkligen vet hur du ställer in en server själv, 154 00:08:06,554 --> 00:08:09,720 eller om du vill sätta detta på den globala webb, är du välkommen att göra vad som helst. 155 00:08:09,720 --> 00:08:11,594 Kom ihåg att dessa är bara JavaScript-filer 156 00:08:11,594 --> 00:08:14,250 och alla Leap bearbetning görs på klienten. 157 00:08:14,250 --> 00:08:16,510 Så det spelar egentligen ingen roll där dina server liv 158 00:08:16,510 --> 00:08:19,660 så länge som datorn du visar webbplatsen på 159 00:08:19,660 --> 00:08:22,024 har Leap Motion installerad. 160 00:08:22,024 --> 00:08:23,190 ARMAGHAN BEHLUM: Absolut. 161 00:08:23,190 --> 00:08:25,680 Liksom Tomas sa, ja, vad som fungerar för er. 162 00:08:25,680 --> 00:08:28,570 Detta är bara en av våra rekommendationer. 163 00:08:28,570 --> 00:08:31,660 Nu för att börja använda Leap Motion vad du skulle göra 164 00:08:31,660 --> 00:08:36,640 är du skulle importera JavaScript-fil från Leap Motion. 165 00:08:36,640 --> 00:08:39,610 Och sedan därifrån vad du kan göra är, just nu 166 00:08:39,610 --> 00:08:44,250 Jag har bara denna punkt tagg inrättas med ett ID av text. 167 00:08:44,250 --> 00:08:48,690 Saker som vi skulle rekommendera ställer controller alternativ 168 00:08:48,690 --> 00:08:52,012 för Leap Motion med aktivera gester för att vara sant. 169 00:08:52,012 --> 00:08:53,970 Så som standard de gester som vi visade dig 170 00:08:53,970 --> 00:08:57,010 grabbar, cirkeln, och nyckel kranen, och drar ett, 171 00:08:57,010 --> 00:09:00,330 de visas inte på ni som standard. 172 00:09:00,330 --> 00:09:04,450 Men vi rekommenderar att du använder dem så att du inte uppfinna hjulet. 173 00:09:04,450 --> 00:09:09,489 Aktivera dem till true, passerar de controller alternativ för att hoppa dot slinga 174 00:09:09,489 --> 00:09:10,530 och du är all uppsättning som går. 175 00:09:10,530 --> 00:09:13,270 För då har du bara definierat en anonym funktion 176 00:09:13,270 --> 00:09:16,910 som kommer att ta i en ram från Leap Motion 177 00:09:16,910 --> 00:09:21,150 och att ramen har alla information som du kommer att behöva. 178 00:09:21,150 --> 00:09:25,310 >> TOMAS REIMERS: Så bara för att resumé, har du ett objekt. 179 00:09:25,310 --> 00:09:28,250 Du har denna funktion kallas språng dot slinga. 180 00:09:28,250 --> 00:09:30,460 Och du kallar det med två argument. 181 00:09:30,460 --> 00:09:33,134 Du kallar det med en, regulator alternativ. 182 00:09:33,134 --> 00:09:35,300 Och det finns en hel del alternativ som du kan sätta in där. 183 00:09:35,300 --> 00:09:38,170 Den vi ska betona är det möjligt gester. 184 00:09:38,170 --> 00:09:41,230 Och om du ställer det lika sant då du kan få tillgång till denna gester 185 00:09:41,230 --> 00:09:42,940 att vi visade dig i Visualizer. 186 00:09:42,940 --> 00:09:47,500 >> Och sedan den andra argumentet är en funktion, det är ungefär som ett samtal tillbaka 187 00:09:47,500 --> 00:09:53,010 som kommer att kallas varje tid varje bildruta för Leap, 188 00:09:53,010 --> 00:09:57,340 så varje gång språng register som din hand flytta, den har en ny ram. 189 00:09:57,340 --> 00:10:02,130 Och det kallar denna funktion med en argument, vilket är ramobjektet. 190 00:10:02,130 --> 00:10:05,909 Och det ramobjektet beskriver ramen som Leap ser den. 191 00:10:05,909 --> 00:10:06,950 ARMAGHAN BEHLUM: Exakt. 192 00:10:06,950 --> 00:10:10,450 Så detta innehåller all användbar bitar av information 193 00:10:10,450 --> 00:10:12,550 att vi talade om tidigare. 194 00:10:12,550 --> 00:10:18,010 Kontroll frame dot gester är en samling av gester 195 00:10:18,010 --> 00:10:23,680 att språnget rörelse fångade ditt händer gör i den sista bilden. 196 00:10:23,680 --> 00:10:26,470 Så till exempel, vad vi är gör här är att vi kollar, 197 00:10:26,470 --> 00:10:31,820 hey, Leap, i det sista bildrutan gjorde du fånga några gester som jag gjorde? 198 00:10:31,820 --> 00:10:36,350 Och i så fall vad vi väljer att göra är iterera igenom dessa gester 199 00:10:36,350 --> 00:10:39,760 och försöka få några användbara information från dem. 200 00:10:39,760 --> 00:10:44,290 Varje gest har en unik ID i samband med det. 201 00:10:44,290 --> 00:10:46,280 De har olika typer. 202 00:10:46,280 --> 00:10:50,220 Du kan titta på vilka fingrar var inblandade i gester 203 00:10:50,220 --> 00:10:52,770 genom att kolla in denna riktningsbar grejer. 204 00:10:52,770 --> 00:10:56,490 Så om när du går igenom Leap Motion JavaScript API grejer, 205 00:10:56,490 --> 00:10:59,630 när de nämner pointables, de talar om dessa fingrar. 206 00:10:59,630 --> 00:11:04,480 Och sedan händer är, naturligtvis, hela handen objektet. 207 00:11:04,480 --> 00:11:05,210 >> Vad mer? 208 00:11:05,210 --> 00:11:08,630 Du kan kontrollera hur länge rörelsen fortsatte 209 00:11:08,630 --> 00:11:11,640 efter och, ja, alla dessa användbara saker. 210 00:11:11,640 --> 00:11:16,490 Så vad jag gör just nu Här är jag loggade ramen, 211 00:11:16,490 --> 00:11:24,350 och sedan jag uppdatera min HTML att visa alla dessa bitar av information 212 00:11:24,350 --> 00:11:25,820 från ramen. 213 00:11:25,820 --> 00:11:28,010 Så låt oss kolla som. 214 00:11:28,010 --> 00:11:29,440 >> Så här är det. 215 00:11:29,440 --> 00:11:34,730 Här är index dot HTML-filen. 216 00:11:34,730 --> 00:11:38,560 Och som du just såg när jag precis flyttat min hand Leap fångade en cirkel rörelse. 217 00:11:38,560 --> 00:11:44,960 Så du kan se mig göra en cirkel över Här uppdaterar med cirkel informationen. 218 00:11:44,960 --> 00:11:48,332 Göra swipes, fångar swipes. 219 00:11:48,332 --> 00:11:49,290 Låt oss prova en flik. 220 00:11:49,290 --> 00:11:50,090 Det går vi. 221 00:11:50,090 --> 00:11:52,370 Skärm kran och en nyckel kran. 222 00:11:52,370 --> 00:11:55,040 Så viktiga kranar också med sätt, är när du träffar ned. 223 00:11:55,040 --> 00:11:57,260 Så du kan tänka dig kanske spelar ett piano. 224 00:11:57,260 --> 00:11:59,869 >> Och sedan skärm kranar är när du träffar skärmen. 225 00:11:59,869 --> 00:12:02,910 Så du kan tänka dig kanske du faktiskt har en pekskärm framför dig 226 00:12:02,910 --> 00:12:05,190 och du slår touch skärm framför dig. 227 00:12:05,190 --> 00:12:08,470 Och då kan vi ta en av dessa objekt i här. 228 00:12:08,470 --> 00:12:12,960 Så minns jag sa att jag var passerar ramen i konsolloggen. 229 00:12:12,960 --> 00:12:17,160 Och så vi kan kolla alla bitar av information 230 00:12:17,160 --> 00:12:22,500 som finns tillgängliga i den ramen samt att använda. 231 00:12:22,500 --> 00:12:26,320 >> Som jag sa tidigare, pointables är fingrarna. 232 00:12:26,320 --> 00:12:30,260 I det ögonblicket hade vi inte vår händerna framför Leap Motion 233 00:12:30,260 --> 00:12:32,010 så det registrerade noll, men detta är hur du 234 00:12:32,010 --> 00:12:35,980 skulle börja att ta reda på kanske hur många fingrar är skärmen. 235 00:12:35,980 --> 00:12:37,810 Och den typen av information. 236 00:12:37,810 --> 00:12:40,060 TOMAS REIMERS: Och minnas detta är bara ett objekt. 237 00:12:40,060 --> 00:12:42,185 Så allt kan nås ungefär som en struct 238 00:12:42,185 --> 00:12:45,540 i C. Du har till syfte namnge dot fastighetsnamnet. 239 00:12:45,540 --> 00:12:48,830 Och sedan inom att du har arrayer och du har andra objekt, 240 00:12:48,830 --> 00:12:50,850 men kom ihåg att det är bara ett objekt. 241 00:12:50,850 --> 00:12:53,788 Det finns inget speciellt eftersom vi använder Leap. 242 00:12:53,788 --> 00:12:54,704 ARMAGHAN BEHLUM: Yeah. 243 00:12:54,704 --> 00:12:56,544 Cool. 244 00:12:56,544 --> 00:12:58,710 Ska vi kolla ett par av JavaScript exempel? 245 00:12:58,710 --> 00:13:05,070 246 00:13:05,070 --> 00:13:07,810 >> TOMAS REIMERS: Så snabbt komma ihåg att vi 247 00:13:07,810 --> 00:13:12,470 sade att Leap kan faktiskt köra på en webbplats. 248 00:13:12,470 --> 00:13:15,250 LeapJS är bara serveras till en klient. 249 00:13:15,250 --> 00:13:19,850 Och så tillsammans som klienten har Leap Motion bifogas det kommer att fungera. 250 00:13:19,850 --> 00:13:22,540 Så Leap Motion har en webbplats där människor 251 00:13:22,540 --> 00:13:24,540 kan dela deras exempel av saker som de har gjort. 252 00:13:24,540 --> 00:13:26,623 Så vi ska bara gå genom ett par av dem 253 00:13:26,623 --> 00:13:29,980 för att se vad som är möjligt innan dykning i mer detaljer om hur 254 00:13:29,980 --> 00:13:32,510 det är möjligt. 255 00:13:32,510 --> 00:13:33,346 Så 256 00:13:33,346 --> 00:13:34,470 ARMAGHAN BEHLUM: Låt oss se. 257 00:13:34,470 --> 00:13:36,136 TOMAS REIMERS: Nu borde arbeta. 258 00:13:36,136 --> 00:13:38,520 ARMAGHAN BEHLUM: Så nu innan vi såg ett exempel 259 00:13:38,520 --> 00:13:45,280 använder Unity som gjorde våra händer med ganska imponerande grafiska skinn, 260 00:13:45,280 --> 00:13:50,200 men nu kan du se att du kan göra det Samma sak i en webbläsare. 261 00:13:50,200 --> 00:13:54,640 Detta är alla inne Chrome bara använda JavaScript. 262 00:13:54,640 --> 00:13:57,460 Och sedan den andra trevliga sak är om du vill 263 00:13:57,460 --> 00:14:02,610 att veta hur de gjorde detta, exemplen på JavaScript 264 00:14:02,610 --> 00:14:07,540 inkluderar kod alternativ som du kan kolla in och sedan se 265 00:14:07,540 --> 00:14:12,570 hur den här personen var gripa tag händer och koder och sådant. 266 00:14:12,570 --> 00:14:16,730 >> Så det är allt du kan hitta på developer.leapmotion.com. 267 00:14:16,730 --> 00:14:20,810 Du kan gå och kolla JavaScript exempel som de har där. 268 00:14:20,810 --> 00:14:23,280 Så ja. 269 00:14:23,280 --> 00:14:25,205 Här är dessa oops sorry. 270 00:14:25,205 --> 00:14:27,680 Låt oss försöka det igen. 271 00:14:27,680 --> 00:14:29,002 Oh. 272 00:14:29,002 --> 00:14:29,960 Jag har två rätt händer. 273 00:14:29,960 --> 00:14:32,540 274 00:14:32,540 --> 00:14:34,380 Så ja. 275 00:14:34,380 --> 00:14:37,440 >> TOMAS REIMERS: Så på gång, minns ibland Leap mässar upp. 276 00:14:37,440 --> 00:14:40,790 Bara ge det en sekund. 277 00:14:40,790 --> 00:14:42,784 Det är inte perfekt, men det är ganska bra. 278 00:14:42,784 --> 00:14:44,700 ARMAGHAN BEHLUM: Enkel andra rekommendationen också 279 00:14:44,700 --> 00:14:48,780 är att inte göra det i direkt solljus. 280 00:14:48,780 --> 00:14:51,260 Så vägen Leap Motion verk är, faktiskt 281 00:14:51,260 --> 00:14:54,500 om jag visar kameran här också, infrarött ljus. 282 00:14:54,500 --> 00:14:57,375 Så det skickar de ut och sedan läser dem när de kommer tillbaka. 283 00:14:57,375 --> 00:14:59,250 Så om du försöker göra det direkt solljus, 284 00:14:59,250 --> 00:15:01,610 till exempel, är det förmodligen inte kommer att fungera, 285 00:15:01,610 --> 00:15:05,850 eller det kommer att kräva vissa kalibrering att göra så. 286 00:15:05,850 --> 00:15:10,450 >> Också en annan rekommendation är att rensa utrymmet bakom Leap 287 00:15:10,450 --> 00:15:12,740 och framför Leap. 288 00:15:12,740 --> 00:15:15,520 Tänk på det som att arbeta insidan av en kupol som är 289 00:15:15,520 --> 00:15:18,360 kring denna Leap Motion-objektet. 290 00:15:18,360 --> 00:15:20,550 Om det finns saker rätt bakom det också, 291 00:15:20,550 --> 00:15:24,740 som är också kommer att störa med hur Leap Motions försöker 292 00:15:24,740 --> 00:15:26,690 att känna igen din hand och den typen av saker. 293 00:15:26,690 --> 00:15:30,010 >> Så, till exempel, tror jag i det här fallet är det min laptop faktiskt 294 00:15:30,010 --> 00:15:34,351 det är typ att göra Leap Motion. 295 00:15:34,351 --> 00:15:35,100 Ja, det går vi. 296 00:15:35,100 --> 00:15:41,021 Så om jag rensa ut min bärbara dator från bakom handen dyker upp ganska bra. 297 00:15:41,021 --> 00:15:41,520 Så ja. 298 00:15:41,520 --> 00:15:42,061 Det finns det. 299 00:15:42,061 --> 00:15:44,650 300 00:15:44,650 --> 00:15:46,417 Så vad mer gjorde vi visa dem. 301 00:15:46,417 --> 00:15:48,250 TOMAS REIMERS: Jag tror nu skulle vara dags 302 00:15:48,250 --> 00:15:52,039 att sortera av dyk in och låt oss bara göra en demo helt från grunden. 303 00:15:52,039 --> 00:15:53,330 Det kommer att bli riktigt enkelt. 304 00:15:53,330 --> 00:15:55,250 I grund och botten vad vi tänker att försöka göra är att göra det 305 00:15:55,250 --> 00:15:58,570 så att när du drar handen, den bakgrunden kommer att börja som rött, 306 00:15:58,570 --> 00:16:01,361 och när du drar handen, den bakgrunden kommer att bli grön. 307 00:16:01,361 --> 00:16:01,970 OK? 308 00:16:01,970 --> 00:16:03,709 Riktigt enkelt. 309 00:16:03,709 --> 00:16:05,750 Och det är i princip bara kommer att gå igenom en hel del 310 00:16:05,750 --> 00:16:08,360 av koncepten bakom Leap så att vi kan 311 00:16:08,360 --> 00:16:12,630 komma in i denna ideologi hur Leap fungerar och hur vi kan bygga saker med det. 312 00:16:12,630 --> 00:16:16,760 Och sedan därifrån vi ska förmodligen bara visa er 313 00:16:16,760 --> 00:16:19,710 API Docs och var du kan läsa mer om detta. 314 00:16:19,710 --> 00:16:21,030 Och sedan ska vi kalla det dag. 315 00:16:21,030 --> 00:16:24,294 Så vill du koda eller vill du att jag ska koden? 316 00:16:24,294 --> 00:16:25,210 ARMAGHAN BEHLUM: Yeah. 317 00:16:25,210 --> 00:16:28,350 Tja, jag antar att vi kan arbeta tillsammans på detta och försök 318 00:16:28,350 --> 00:16:30,292 >> TOMAS REIMERS: Så vi ska göra en del par kodning. 319 00:16:30,292 --> 00:16:31,500 ARMAGHAN BEHLUM: Det gå vi. 320 00:16:31,500 --> 00:16:33,250 Det är precis vad jag ville kolla. 321 00:16:33,250 --> 00:16:34,700 Cool. 322 00:16:34,700 --> 00:16:38,750 Så till exempel i här, låt oss se. 323 00:16:38,750 --> 00:16:40,979 Medan vi iteration genom gester redan, 324 00:16:40,979 --> 00:16:43,270 TOMAS REIMERS: Vill du göra bara en helt ny fil? 325 00:16:43,270 --> 00:16:43,870 ARMAGHAN BEHLUM: Helt ny fil? 326 00:16:43,870 --> 00:16:44,246 Ja, visst. 327 00:16:44,246 --> 00:16:45,000 >> TOMAS REIMERS: Yeah. 328 00:16:45,000 --> 00:16:45,920 >> ARMAGHAN BEHLUM: Så låt oss göra det. 329 00:16:45,920 --> 00:16:48,253 >> TOMAS REIMERS: Så ska vi att göra en helt fil. 330 00:16:48,253 --> 00:16:51,290 Vi kallar det för hand dot HTML. 331 00:16:51,290 --> 00:16:52,670 Det är coolt med mig. 332 00:16:52,670 --> 00:16:59,020 Så kom ihåg att du gör en HTML-tagg, sedan inom att du har ett huvud. 333 00:16:59,020 --> 00:17:02,982 Att huvudet har en titel i den. 334 00:17:02,982 --> 00:17:04,349 Så fliken åt andra hållet. 335 00:17:04,349 --> 00:17:05,589 Där du går. 336 00:17:05,589 --> 00:17:09,359 Titel, vi kallar det Leap Exempel. 337 00:17:09,359 --> 00:17:12,163 Japp. 338 00:17:12,163 --> 00:17:13,540 >> ARMAGHAN BEHLUM: Oj. 339 00:17:13,540 --> 00:17:14,040 Titel. 340 00:17:14,040 --> 00:17:14,474 >> TOMAS REIMERS: Japp. 341 00:17:14,474 --> 00:17:15,776 >> ARMAGHAN BEHLUM: Det är vi. 342 00:17:15,776 --> 00:17:18,180 >> TOMAS REIMERS: Och så låt oss göra en kropp. 343 00:17:18,180 --> 00:17:20,852 >> ARMAGHAN BEHLUM: Vänta, låt oss också se till att importera. 344 00:17:20,852 --> 00:17:22,060 TOMAS REIMERS: Åh, naturligtvis. 345 00:17:22,060 --> 00:17:22,560 Min dåliga. 346 00:17:22,560 --> 00:17:28,700 Så alltid se till att du har Leap script så det är ett skript som du fått 347 00:17:28,700 --> 00:17:31,810 från Leap Motion som i princip tillåter webbläsare för att ansluta 348 00:17:31,810 --> 00:17:35,580 på anordningen på användarens dator. 349 00:17:35,580 --> 00:17:38,510 Och sedan i detta vi också behöver en kropp och låt oss bara 350 00:17:38,510 --> 00:17:40,580 göra kroppen säga hej så att vi kan visa eleverna 351 00:17:40,580 --> 00:17:42,704 hur du ansluter till denna nya webbsida som de gjorde. 352 00:17:42,704 --> 00:17:44,260 ARMAGHAN BEHLUM: Visst. 353 00:17:44,260 --> 00:17:45,724 Så låt oss bara sätta another-- 354 00:17:45,724 --> 00:17:48,730 >> TOMAS REIMERS: Hej, hej världen. 355 00:17:48,730 --> 00:17:50,210 Så en mycket grundläggande exempel. 356 00:17:50,210 --> 00:17:53,400 Egentligen bara en demo. 357 00:17:53,400 --> 00:17:58,505 >> ARMAGHAN BEHLUM: Och sedan här vi kan gå till, vi kallade det för hand dot HTML, 358 00:17:58,505 --> 00:18:00,000 rätt? 359 00:18:00,000 --> 00:18:00,810 Och oh! 360 00:18:00,810 --> 00:18:04,310 Så jag undrar vad som är fel med detta just nu. 361 00:18:04,310 --> 00:18:07,639 Låt oss lägga läsbehörighet till hands dot HTML. 362 00:18:07,639 --> 00:18:09,930 TOMAS REIMERS: Vill du att göra det i den stora terminalen 363 00:18:09,930 --> 00:18:11,080 så att vi bara kan visa den på the-- 364 00:18:11,080 --> 00:18:12,501 >> ARMAGHAN BEHLUM: Ja, gör det avseendet. 365 00:18:12,501 --> 00:18:13,001 Okej. 366 00:18:13,001 --> 00:18:15,720 Så jag har precis lagt den behörigheter, men om vi 367 00:18:15,720 --> 00:18:18,350 skulle kolla in behörigheter innan vi 368 00:18:18,350 --> 00:18:22,560 skulle ha sett som faktiskt handen dot HTML hade inte läsbehörighet 369 00:18:22,560 --> 00:18:25,570 och därför kunde vi inte göra det. 370 00:18:25,570 --> 00:18:30,850 Men nu om vi gör det, ser vi vår lite hallå världen just där. 371 00:18:30,850 --> 00:18:33,580 >> TOMAS REIMERS: Så låt oss faktiskt, som han skrev, hallå världen, 372 00:18:33,580 --> 00:18:35,371 Jag tänkte på ett sätt vi kunde ändra detta. 373 00:18:35,371 --> 00:18:41,150 Låt oss göra det säga hej världen, och sedan när du våg, säger adjö. 374 00:18:41,150 --> 00:18:41,650 Rätt? 375 00:18:41,650 --> 00:18:42,210 Så hej, adjö. 376 00:18:42,210 --> 00:18:42,560 >> ARMAGHAN BEHLUM: Visst. 377 00:18:42,560 --> 00:18:44,010 >> TOMAS REIMERS: Det låter ganska bra. 378 00:18:44,010 --> 00:18:45,120 >> ARMAGHAN BEHLUM: Att låter bra för mig också. 379 00:18:45,120 --> 00:18:46,920 >> TOMAS REIMERS: Så om vi är kommer att göra det låt oss bara 380 00:18:46,920 --> 00:18:48,980 tänka igenom webbsidan lite. 381 00:18:48,980 --> 00:18:51,800 Vi kommer att behöva lite manus som i huvudsak registrerar 382 00:18:51,800 --> 00:18:56,470 att du vinkade och en Leap, en våg och en känga, samma sak. 383 00:18:56,470 --> 00:18:59,584 Så vi kommer att behöva ett skript som princip registrerar för den slägga. 384 00:18:59,584 --> 00:19:01,500 Och en annan sak som vi är kommer att behöva är att vi är 385 00:19:01,500 --> 00:19:04,360 kommer att behöva lite faktiska innehållet förändras. 386 00:19:04,360 --> 00:19:07,850 >> Så som ni minns, jQuery låter dig ändra innehåll. 387 00:19:07,850 --> 00:19:13,017 Så en sak som vi kanske vill inkludera i detta är jQuery biblioteket. 388 00:19:13,017 --> 00:19:16,100 Och sedan att kunna välja vad vi faktiskt kommer att ändra innehåll, 389 00:19:16,100 --> 00:19:18,224 som kommer att behöva ett ID eller en klass, eller något 390 00:19:18,224 --> 00:19:20,100 som vi kan använda för att välja den. 391 00:19:20,100 --> 00:19:25,010 Så vi ska bara ge det en snabb ID förändringstext. 392 00:19:25,010 --> 00:19:26,974 Och sedan vill du ta jQuery? 393 00:19:26,974 --> 00:19:29,890 ARMAGHAN BEHLUM: Så vad är det första sak på vår att göra-lista sedan nu? 394 00:19:29,890 --> 00:19:30,620 TOMAS REIMERS: Låt oss ta jQuery? 395 00:19:30,620 --> 00:19:32,494 ARMAGHAN BEHLUM: Låt oss greppa jQuery, OK, cool. 396 00:19:32,494 --> 00:19:34,502 I så fall kommer jag att behöva actually-- 397 00:19:34,502 --> 00:19:36,210 där skulle vara det bästa stället att göra det? 398 00:19:36,210 --> 00:19:39,677 >> TOMAS REIMERS: jQuery, så om du Google jQuery, slog jQuery, den första 399 00:19:39,677 --> 00:19:41,010 ARMAGHAN BEHLUM: Mycket första. 400 00:19:41,010 --> 00:19:42,135 TOMAS REIMERS: Eller hämta. 401 00:19:42,135 --> 00:19:42,650 Det är bra. 402 00:19:42,650 --> 00:19:46,482 Hit nedladdning v1 och v2 till vänster. 403 00:19:46,482 --> 00:19:49,190 Så vi beskriver jQuery från nätet som du har förmodligen gjort. 404 00:19:49,190 --> 00:19:50,440 Scrolla ner. 405 00:19:50,440 --> 00:19:51,260 Upp, upp. 406 00:19:51,260 --> 00:19:53,502 >> ARMAGHAN BEHLUM: Åh, just här nu? 407 00:19:53,502 --> 00:19:54,460 TOMAS REIMERS: Eller så. 408 00:19:54,460 --> 00:19:54,960 Japp. 409 00:19:54,960 --> 00:20:00,150 Så jQuery har en värd version vilket innebär att du egentligen inte 410 00:20:00,150 --> 00:20:01,890 behöver ladda ner den, men du är mer än 411 00:20:01,890 --> 00:20:07,734 Välkommen att ladda ner den och lägga upp den själv. 412 00:20:07,734 --> 00:20:08,650 ARMAGHAN BEHLUM: Cool. 413 00:20:08,650 --> 00:20:09,566 Så nu har vi jQuery. 414 00:20:09,566 --> 00:20:11,122 Nu vad är nästa på vår att göra-lista. 415 00:20:11,122 --> 00:20:12,080 TOMAS REIMERS: Awesome. 416 00:20:12,080 --> 00:20:13,910 Så nästa vad vi behöver gör är att vi faktiskt behöver 417 00:20:13,910 --> 00:20:17,750 att ge p hallå världen ett ID så att vi kan ändra det, eller hur? 418 00:20:17,750 --> 00:20:24,514 Så låt oss ge en uppfattning om, Jag vet inte, ändra text? 419 00:20:24,514 --> 00:20:26,680 ARMAGHAN BEHLUM: Låt oss bara göra det här sättet, antar jag. 420 00:20:26,680 --> 00:20:28,013 TOMAS REIMERS: changeText, cool. 421 00:20:28,013 --> 00:20:29,830 Och nu ska vi bara uppdatera sidan. 422 00:20:29,830 --> 00:20:31,142 Se till att allt fungerar. 423 00:20:31,142 --> 00:20:32,100 Så tillbaka i webbläsaren. 424 00:20:32,100 --> 00:20:35,820 425 00:20:35,820 --> 00:20:36,922 Cool. 426 00:20:36,922 --> 00:20:39,380 Alltid en bra påminnelse om att När du bygger en hemsida, 427 00:20:39,380 --> 00:20:44,450 förmodligen uppdatera varje gång du gör någon något betydande förändring bara 428 00:20:44,450 --> 00:20:47,993 eftersom ibland råkar tappa en tagg, 429 00:20:47,993 --> 00:20:51,640 eller om du råkar radera något, och sedan du bryter något litet, 430 00:20:51,640 --> 00:20:55,880 men sedan när du gör en större förändring du är som, varför gjorde detta stor förändring 431 00:20:55,880 --> 00:20:57,910 synes bryta orelaterad sak. 432 00:20:57,910 --> 00:21:02,840 Så det är alltid bra att sortera på gå och göra dessa rimlighetskontroller. 433 00:21:02,840 --> 00:21:05,610 >> Hur som helst så nu ska vi göra en sista sanity check, 434 00:21:05,610 --> 00:21:09,800 som låt oss försöka ändra text utan Leap Motion, 435 00:21:09,800 --> 00:21:11,820 utan någonting, bara på sidan laddas det ska 436 00:21:11,820 --> 00:21:17,140 förändra hej världen adjö använder jQuery. 437 00:21:17,140 --> 00:21:21,400 Så om du kommer ihåg jQuery exponerar denna dollartecken funktion, 438 00:21:21,400 --> 00:21:28,640 som vi kan passera CSS väljaren till, nämligen hashtag ändringstext, vilket 439 00:21:28,640 --> 00:21:31,590 väljer element med ett ID förändringstext. 440 00:21:31,590 --> 00:21:34,980 Och sedan kommer vi att kalla metoden HTML 441 00:21:34,980 --> 00:21:40,390 på objektet återgår med argument av en sträng adjö, vilket 442 00:21:40,390 --> 00:21:45,600 kommer att förändra objekten HTML för att säga adjö. 443 00:21:45,600 --> 00:21:46,210 Grymt. 444 00:21:46,210 --> 00:21:48,790 Det verkar ganska coolt. 445 00:21:48,790 --> 00:21:52,365 Och nu när vi uppdaterar sidan ska vi se 446 00:21:52,365 --> 00:21:54,040 det omedelbart ändras till adjö, eller hur? 447 00:21:54,040 --> 00:21:55,910 Eftersom det inte vänta på något. 448 00:21:55,910 --> 00:21:59,200 Sortera på så fort det manus körs det ändrar det till adjö. 449 00:21:59,200 --> 00:22:00,430 Cool. 450 00:22:00,430 --> 00:22:03,790 >> Så nu ska vi packa in den i en funktion. 451 00:22:03,790 --> 00:22:04,290 Höger. 452 00:22:04,290 --> 00:22:06,270 Så vi kommer att vilja att göra en funktion. 453 00:22:06,270 --> 00:22:08,160 Vi ska kalla det adjö. 454 00:22:08,160 --> 00:22:11,570 Så funktion adjö är kommer att ta några argument 455 00:22:11,570 --> 00:22:14,170 och det är inte riktigt kommer att returnera något. 456 00:22:14,170 --> 00:22:18,850 Och det är bara att gå till göra det i JavaScript. 457 00:22:18,850 --> 00:22:22,240 458 00:22:22,240 --> 00:22:23,140 Utmärkt. 459 00:22:23,140 --> 00:22:27,000 Så vår funktion adjö nu ändrar texten till adjö, eller hur? 460 00:22:27,000 --> 00:22:28,930 Så detta ger oss ett sätt att i princip förändring 461 00:22:28,930 --> 00:22:32,871 den texten till adjö när vi kallade den funktionen. 462 00:22:32,871 --> 00:22:33,370 Rätt? 463 00:22:33,370 --> 00:22:35,290 Så det här är ganska coolt. 464 00:22:35,290 --> 00:22:37,430 >> ARMAGHAN BEHLUM: Tja, vi kan också se bara till att 465 00:22:37,430 --> 00:22:41,040 som nu eftersom vi inte kallar det funktion, om vi uppdatera sidan, 466 00:22:41,040 --> 00:22:44,460 märker att det inte kommer att ändra texten. 467 00:22:44,460 --> 00:22:45,509 >> TOMAS REIMERS: Utmärkt. 468 00:22:45,509 --> 00:22:47,800 Så nu ska vi börja att komma in i det Leap grejer 469 00:22:47,800 --> 00:22:49,880 att vi talade om. 470 00:22:49,880 --> 00:22:52,240 Så Armi, vill du ta det härifrån eller? 471 00:22:52,240 --> 00:22:52,640 >> ARMAGHAN BEHLUM: Yeah. 472 00:22:52,640 --> 00:22:53,139 Visst. 473 00:22:53,139 --> 00:22:56,260 Jag kommer förmodligen att behöva för att dubbelkontrollera saker, 474 00:22:56,260 --> 00:22:58,250 men till exempel komma ihåg Vi sade att vi ville 475 00:22:58,250 --> 00:23:02,627 att se i Alternativ Vi satt aktivera gester 476 00:23:02,627 --> 00:23:03,710 TOMAS REIMERS: God fångst. 477 00:23:03,710 --> 00:23:06,250 ARMAGHAN BEHLUM: Att vara sant. 478 00:23:06,250 --> 00:23:08,960 Och sedan vi rekommenderar att ni skulle 479 00:23:08,960 --> 00:23:12,230 kör språng dot slinga, vilket som vi sagt tidigare, 480 00:23:12,230 --> 00:23:18,140 har två alternativ, ett JSON-objekt som är alternativen för hur du vill 481 00:23:18,140 --> 00:23:22,030 att konfigurera Leap Motion till arbete, och sedan en funktion som är 482 00:23:22,030 --> 00:23:27,640 kommer att fånga en ram som en återuppringning fungerar som Tomas sade. 483 00:23:27,640 --> 00:23:30,470 Och sedan redigera vad du vill att göra med den funktionen. 484 00:23:30,470 --> 00:23:33,890 >> Så vi passerar i alternativ och nu definierar vi 485 00:23:33,890 --> 00:23:36,117 en funktion som kommer att ta i en ram. 486 00:23:36,117 --> 00:23:38,200 Och nu måste vi definiera vad den funktionen gör. 487 00:23:38,200 --> 00:23:42,569 Det är också av hänsyn till den framtid, gör det för att se. 488 00:23:42,569 --> 00:23:43,610 TOMAS REIMERS: Utmärkt. 489 00:23:43,610 --> 00:23:45,940 Så nu har vi denna språng dot loop funktion 490 00:23:45,940 --> 00:23:52,420 ring som i princip säger titta Leap med dessa alternativ och varje gång 491 00:23:52,420 --> 00:23:55,710 något ändras, kallar detta Funktionen ram med alla data 492 00:23:55,710 --> 00:23:59,510 att du är medveten om i ram. 493 00:23:59,510 --> 00:24:01,320 Låter ganska bra. 494 00:24:01,320 --> 00:24:03,680 Så nu snabb kontroll sanity, som jag rekommenderar alltid, 495 00:24:03,680 --> 00:24:07,020 är det bara sätta konsol dot timmerstommen. 496 00:24:07,020 --> 00:24:10,320 Och sedan i Chrome öppna den upp och titta på din konsol 497 00:24:10,320 --> 00:24:13,870 och leka med Leap att se ramar loggas eftersom det kommer 498 00:24:13,870 --> 00:24:16,300 får du en uppfattning om vad data du har tillgång till. 499 00:24:16,300 --> 00:24:20,680 Och som alltid när du förvirrad, slå upp API referens. 500 00:24:20,680 --> 00:24:23,430 Och vi kommer att inkludera länken för att vid slutet av detta. 501 00:24:23,430 --> 00:24:26,300 >> ARMAGHAN BEHLUM: Så vi uppdatera sidan och sedan 502 00:24:26,300 --> 00:24:28,880 vi går och öppnar upp konsolen igen. 503 00:24:28,880 --> 00:24:33,590 Och nu märker vi att vi är ha ramar passerade in, 504 00:24:33,590 --> 00:24:37,834 dessa små föremål som vi såg tidigare. 505 00:24:37,834 --> 00:24:38,690 Så ja. 506 00:24:38,690 --> 00:24:42,870 Dessa är våra ramar dyker upp i konsolen. 507 00:24:42,870 --> 00:24:43,370 Cool. 508 00:24:43,370 --> 00:24:46,970 >> Så nu när vi har gripit ramar, som ni kanske minns tidigare 509 00:24:46,970 --> 00:24:51,800 från exemplet att vi hade, om vi kontrollerar ram dot gester 510 00:24:51,800 --> 00:24:56,270 vi får listan över gester som ramen mest nyligen fångade. 511 00:24:56,270 --> 00:25:01,510 Vi kan kontrollera längden på den arrayen för att se om Leap fångade några gester. 512 00:25:01,510 --> 00:25:05,010 Så om det array är större än noll då vi 513 00:25:05,010 --> 00:25:07,570 vet att vi har en del saker att göra. 514 00:25:07,570 --> 00:25:15,040 >> Så låt oss linda upp det i en if skick och nu här vad vi vet är att vi 515 00:25:15,040 --> 00:25:20,390 har sett en gest, låt oss agera på det. 516 00:25:20,390 --> 00:25:25,721 Så nu när vi är här inne vi ha en gest för att kolla. 517 00:25:25,721 --> 00:25:28,470 TOMAS REIMERS: Tja, den första sak är det inte bara en gest, 518 00:25:28,470 --> 00:25:29,840 det kan vara så många gester. 519 00:25:29,840 --> 00:25:30,964 >> ARMAGHAN BEHLUM: Mycket sant. 520 00:25:30,964 --> 00:25:33,340 TOMAS REIMERS: Så per klassisk C stil här 521 00:25:33,340 --> 00:25:36,334 Vi kommer förmodligen att vilja använda en for-loop. 522 00:25:36,334 --> 00:25:37,750 ARMAGHAN BEHLUM: Här är vi då. 523 00:25:37,750 --> 00:25:42,870 Vi beslutade att iterera genom gester. 524 00:25:42,870 --> 00:25:46,412 Och låt oss se. 525 00:25:46,412 --> 00:25:49,380 Jag plus, plus. 526 00:25:49,380 --> 00:25:56,150 Och nu om vi kanske gjort bara en var gest lika 527 00:25:56,150 --> 00:26:01,210 ram dot gester fäste jag, nu har vi 528 00:26:01,210 --> 00:26:06,260 gest själv, vilket är bara en enda instans av en gest objekt 529 00:26:06,260 --> 00:26:10,582 för oss att arbeta med insidan av denna för slinga. 530 00:26:10,582 --> 00:26:12,869 Okej. 531 00:26:12,869 --> 00:26:15,410 TOMAS REIMERS: Låt oss förstånd kolla här igen och bara trösta 532 00:26:15,410 --> 00:26:17,370 dot log gest för att se vad vi får. 533 00:26:17,370 --> 00:26:19,410 >> ARMAGHAN BEHLUM: Console dot log gest. 534 00:26:19,410 --> 00:26:22,900 535 00:26:22,900 --> 00:26:23,780 Okie dokie. 536 00:26:23,780 --> 00:26:26,250 Och uppdatera en gång till. 537 00:26:26,250 --> 00:26:30,030 >> TOMAS Reimers: Och låt oss prova att göra en gest. 538 00:26:30,030 --> 00:26:34,600 Du ser att ett gäng av, när han drar ett, 539 00:26:34,600 --> 00:26:39,780 du får en massa gester i konsol och om han försöker göra en cirkel, 540 00:26:39,780 --> 00:26:40,470 det är bara-- 541 00:26:40,470 --> 00:26:41,750 >> ARMAGHAN BEHLUM: Cirklar är bara riktigt nice. 542 00:26:41,750 --> 00:26:45,000 >> TOMAS REIMERS: Nu finns det en konstig sak Här, som han gör en cirkel, 543 00:26:45,000 --> 00:26:48,730 men detta loggar 80 gester, eller hur? 544 00:26:48,730 --> 00:26:50,070 Det är en hel del gester. 545 00:26:50,070 --> 00:26:53,560 Så den första sortens sak att inser, och detta kan vara förvirrande, 546 00:26:53,560 --> 00:26:57,050 är att en gest är inte bara loggas gång. 547 00:26:57,050 --> 00:27:01,107 >> På varje bildruta, höger, så om jag gör en cirkel 548 00:27:01,107 --> 00:27:02,940 Leap upptäcker detta är en förändring, från detta 549 00:27:02,940 --> 00:27:04,398 är en förändring, från detta är en förändring. 550 00:27:04,398 --> 00:27:05,970 Och det kommer att logga var och en av dem. 551 00:27:05,970 --> 00:27:08,200 Men i var och en av dem, det kommer att säga, oh, 552 00:27:08,200 --> 00:27:10,050 det finns en gest för närvarande pågår. 553 00:27:10,050 --> 00:27:14,260 Så låt mig bara säga, hej, det finns en gest och det är för närvarande pågår. 554 00:27:14,260 --> 00:27:17,000 Så vad vi inte vill göra är att säga, åh, på var och en 555 00:27:17,000 --> 00:27:19,370 av dessa gester du vill ändra text. 556 00:27:19,370 --> 00:27:23,660 Vad vi vill göra är att när den gesten stannar, och vi kan kontrollera det, 557 00:27:23,660 --> 00:27:24,974 då vill vi ändra texten. 558 00:27:24,974 --> 00:27:25,890 ARMAGHAN BEHLUM: Mhmm. 559 00:27:25,890 --> 00:27:30,550 Så som Tomas är förklara dessa gester 560 00:27:30,550 --> 00:27:33,580 kan visas genom flera ramar, men till exempel, 561 00:27:33,580 --> 00:27:36,200 när vi hade den cirkeln, kan vi se 562 00:27:36,200 --> 00:27:40,140 att ID för att en enda cirkel som vi 563 00:27:40,140 --> 00:27:43,950 kanske har försökt att slutföra var samma ID hela. 564 00:27:43,950 --> 00:27:46,320 Och faktiskt, kan du också kolla statusen. 565 00:27:46,320 --> 00:27:49,500 566 00:27:49,500 --> 00:27:50,270 uppdateras. 567 00:27:50,270 --> 00:27:55,680 >> Och då detta är förmodligen den förra cirkel som, oh, ja, OK. 568 00:27:55,680 --> 00:28:00,480 Så ibland visar en status stoppa en gest 569 00:28:00,480 --> 00:28:04,180 och det visar också en status om att starta en ny gest när 570 00:28:04,180 --> 00:28:09,140 Det erkänner säkert att du har börjat en ny gest. 571 00:28:09,140 --> 00:28:10,637 Till exempel i det här fallet. 572 00:28:10,637 --> 00:28:11,470 TOMAS REIMERS: Cool. 573 00:28:11,470 --> 00:28:12,511 ARMAGHAN BEHLUM: Så ja. 574 00:28:12,511 --> 00:28:14,420 Och då, låt oss se. 575 00:28:14,420 --> 00:28:16,490 Du kan också märka om vi gör 576 00:28:16,490 --> 00:28:22,179 en cirkel och gest har ett fält som heter typ 577 00:28:22,179 --> 00:28:23,970 som berättar för oss vilken typ av gest som är. 578 00:28:23,970 --> 00:28:27,829 Så det kan vara användbart för oss du försöka göra vad vi gör. 579 00:28:27,829 --> 00:28:29,620 TOMAS REIMERS: Så övergår tillbaka till JS, 580 00:28:29,620 --> 00:28:31,696 det första som slår mig också, bara läsa igenom den här koden 581 00:28:31,696 --> 00:28:34,340 är att det finns en liten optimering, vilket är vi faktiskt 582 00:28:34,340 --> 00:28:35,980 behöver inte detta om tillstånd, eller hur? 583 00:28:35,980 --> 00:28:39,330 För om ram dot gester dot Längden är noll, att för slingans 584 00:28:39,330 --> 00:28:40,450 inte kommer att köra ändå. 585 00:28:40,450 --> 00:28:43,100 Så vi kan lika gärna bara gå framåt och bli av med det. 586 00:28:43,100 --> 00:28:46,620 Återigen, medan du skriver kod det är viktigt att gå tillbaka och sortera 587 00:28:46,620 --> 00:28:50,330 av Refactor som du inser att du kunde ha gjort något bättre, 588 00:28:50,330 --> 00:28:53,370 eller att det finns ett annat sätt att göra det. 589 00:28:53,370 --> 00:28:57,170 Så nu vi ska bara städa här upp snabbt och även städa upp din kod. 590 00:28:57,170 --> 00:28:58,310 Det är en stor sak. 591 00:28:58,310 --> 00:28:59,870 >> ARMAGHAN BEHLUM: Bra stil är mycket uppskattat. 592 00:28:59,870 --> 00:29:01,828 >> TOMAS REIMERS: Du kan alltid berätta när någon 593 00:29:01,828 --> 00:29:05,240 har koden där det brukade vara en if skick och sedan de tog bort den, 594 00:29:05,240 --> 00:29:07,530 men de ville inte avkommentera det. 595 00:29:07,530 --> 00:29:10,147 Det är mycket uppenbart och Det ser faktiskt ut fult. 596 00:29:10,147 --> 00:29:12,230 ARMAGHAN BEHLUM: Så vad är nästa på vår att göra-lista? 597 00:29:12,230 --> 00:29:15,479 TOMAS REIMERS: Så nu när vi sade, Jag antar det första vi vill göra 598 00:29:15,479 --> 00:29:17,970 är att se till att den gesten s faktiskt en känga, eller hur? 599 00:29:17,970 --> 00:29:18,270 >> ARMAGHAN BEHLUM: Yeah. 600 00:29:18,270 --> 00:29:21,750 >> TOMAS REIMERS: Så om vi säger att vår adjö är ungefär som en känga, 601 00:29:21,750 --> 00:29:25,280 vi ska gå med det är en känga, den första vi måste säga är, hej, 602 00:29:25,280 --> 00:29:27,410 är gesten skriv ett svep, eller hur? 603 00:29:27,410 --> 00:29:30,860 Inte en cirkel eller en topp, men är det en känga? 604 00:29:30,860 --> 00:29:34,280 Så hur vi kan göra det är att vi kan säga gest 605 00:29:34,280 --> 00:29:38,530 dot typ lika lika svepa som en sträng. 606 00:29:38,530 --> 00:29:44,030 >> ARMAGHAN BEHLUM: [OHÖRBAR] gest dot typ lika med lika med slägga. 607 00:29:44,030 --> 00:29:46,790 608 00:29:46,790 --> 00:29:47,730 Det är vi. 609 00:29:47,730 --> 00:29:49,438 >> TOMAS REIMERS: Och då den sista frågan 610 00:29:49,438 --> 00:29:53,170 vi vill se är gesten dot state lika lika stopp, eller hur? 611 00:29:53,170 --> 00:29:55,860 Så det är när gest har stoppats. 612 00:29:55,860 --> 00:29:58,490 Jag tror faktiskt att svepa, jag vet detta från toppen av mitt huvud, 613 00:29:58,490 --> 00:30:00,340 men du är välkommen att slå upp det, när du 614 00:30:00,340 --> 00:30:05,627 dra varje gång den registrerar det tills du slutar är en början gest. 615 00:30:05,627 --> 00:30:07,460 Och sedan den sista s bara ett stopp gest. 616 00:30:07,460 --> 00:30:11,090 Så det endast kommer att finnas ett stopp gest, vilket är bra för oss. 617 00:30:11,090 --> 00:30:17,180 Så vad vi kan göra är att säga om gest dot skriver lika lika slägga och gest dot 618 00:30:17,180 --> 00:30:19,950 status lika lika stopp, så låt oss förstånd 619 00:30:19,950 --> 00:30:21,725 kolla här trösta dot log gest. 620 00:30:21,725 --> 00:30:29,420 621 00:30:29,420 --> 00:30:30,790 >> Så vi ska gå tillbaka hit. 622 00:30:30,790 --> 00:30:33,570 Vi kommer uppdatera sidan. 623 00:30:33,570 --> 00:30:38,380 Och nu den enda gången något bör vara konsol dot loggas är när vi drar. 624 00:30:38,380 --> 00:30:40,780 Och vi försöker dra och vi ser ingenting. 625 00:30:40,780 --> 00:30:41,280 Rätt? 626 00:30:41,280 --> 00:30:43,990 Så detta är faktiskt en stor fråga. 627 00:30:43,990 --> 00:30:47,560 Vi ser inte vad vi förväntas. 628 00:30:47,560 --> 00:30:49,356 Och felsökning kan vara en stor del av detta. 629 00:30:49,356 --> 00:30:51,980 Så det första vi tänker att säga är, OK, låt oss trösta dot 630 00:30:51,980 --> 00:30:54,568 logga det om gest dot skriver lika lika slägga. 631 00:30:54,568 --> 00:30:56,109 ARMAGHAN BEHLUM: Ja, låt oss göra det. 632 00:30:56,109 --> 00:30:59,979 633 00:30:59,979 --> 00:31:02,020 TOMAS REIMERS: Så vi är kommer att gå tillbaka till detta. 634 00:31:02,020 --> 00:31:03,140 Vi ska uppdatera. 635 00:31:03,140 --> 00:31:04,020 Vi ska dra. 636 00:31:04,020 --> 00:31:05,150 Och vi kommer att se ett gäng av dem. 637 00:31:05,150 --> 00:31:05,650 OK. 638 00:31:05,650 --> 00:31:08,710 Så klart var problemet med vår gest dot status. 639 00:31:08,710 --> 00:31:14,000 Så om vi öppnar upp en av dessa vi ska titta i objekt och vi får se, 640 00:31:14,000 --> 00:31:18,700 Tja, det är ett stopp, men, åh, det kallas tillståndet, inte status. 641 00:31:18,700 --> 00:31:21,890 Så om vi går tillbaka till vår kod kan vi säga 642 00:31:21,890 --> 00:31:27,780 om gest dot typ lika lika slägga och gester dot statlig lika lika stopp, 643 00:31:27,780 --> 00:31:29,160 sedan kommer vi trösta dot log det. 644 00:31:29,160 --> 00:31:30,940 Och så uppdatera. 645 00:31:30,940 --> 00:31:31,856 Vi drar. 646 00:31:31,856 --> 00:31:33,730 Och vi får se det på varje svep, vi är bara 647 00:31:33,730 --> 00:31:36,247 få en, som är den slutet, vilket är bra, eller hur? 648 00:31:36,247 --> 00:31:37,080 Det är vad vi vill ha. 649 00:31:37,080 --> 00:31:37,955 >> ARMAGHAN BEHLUM: Japp. 650 00:31:37,955 --> 00:31:42,640 Och vi kan också märka att ID för var och en av dessa gester är separata. 651 00:31:42,640 --> 00:31:47,470 Så när Tomas sa att vi är fånga denna one stop uppger att 652 00:31:47,470 --> 00:31:52,850 existerar i slutet av en slägga, vi är få enskilda separata gester 653 00:31:52,850 --> 00:31:54,441 från Leap Motion. 654 00:31:54,441 --> 00:31:54,940 Stor. 655 00:31:54,940 --> 00:31:58,610 656 00:31:58,610 --> 00:32:03,040 >> TOMAS REIMERS: Låt oss gå vidare och bara göra det sista sak, som är, 657 00:32:03,040 --> 00:32:04,826 >> ARMAGHAN BEHLUM: Adjö. 658 00:32:04,826 --> 00:32:06,425 >> TOMAS REIMERS: Awesome. 659 00:32:06,425 --> 00:32:08,925 Och nu ska vi kolla in vår hemsida. 660 00:32:08,925 --> 00:32:09,425 En 661 00:32:09,425 --> 00:32:09,730 >> ARMAGHAN BEHLUM: Second. 662 00:32:09,730 --> 00:32:11,271 Vi gjorde, ja, vi kallar det Adjö. 663 00:32:11,271 --> 00:32:11,920 Stor. 664 00:32:11,920 --> 00:32:13,490 >> TOMAS REIMERS: Nej, Adjö är en reell funktion. 665 00:32:13,490 --> 00:32:14,406 >> ARMAGHAN BEHLUM: Yeah. 666 00:32:14,406 --> 00:32:15,670 Låt oss göra det. 667 00:32:15,670 --> 00:32:20,566 >> TOMAS REIMERS: Och när vi vinka adjö, säger adjö. 668 00:32:20,566 --> 00:32:22,360 >> ARMAGHAN BEHLUM: Vi har segern. 669 00:32:22,360 --> 00:32:25,632 >> TOMAS REIMERS: Så ganska spännande grejer. 670 00:32:25,632 --> 00:32:28,590 Förhoppningsvis kan du bygga något annars, men du får tanken på, eller hur? 671 00:32:28,590 --> 00:32:30,260 Du kan upptäcka gester. 672 00:32:30,260 --> 00:32:31,469 Du kan ringa funktioner. 673 00:32:31,469 --> 00:32:34,510 Och från den som verkligen ger dig några mycket grundläggande byggstenar 674 00:32:34,510 --> 00:32:38,800 att säga, oh, kanske när de drar upp, eftersom du kan också upptäcka saker 675 00:32:38,800 --> 00:32:39,674 liknande riktning. 676 00:32:39,674 --> 00:32:40,840 Jag vill att de ska göra något. 677 00:32:40,840 --> 00:32:43,470 Eller när de drar rätt, jag vill att de ska göra något. 678 00:32:43,470 --> 00:32:45,880 Och vi kan börja att få kreativ med hur exakt 679 00:32:45,880 --> 00:32:48,840 vi kommer att förbättra vår webbplats använda dessa slägga gester eller cirkel 680 00:32:48,840 --> 00:32:53,695 gester, eller knacka på gester, antingen nyckel kranar eller skärm kranar. 681 00:32:53,695 --> 00:32:56,070 Och annat då än att du är mer än välkommen att spela 682 00:32:56,070 --> 00:32:59,640 med de faktiska uppgifterna, men om du vill göra 683 00:32:59,640 --> 00:33:03,870 att vi skulle föreslå att du går till docs eftersom de är faktiskt riktigt bra. 684 00:33:03,870 --> 00:33:05,034 Så leds till docs nu. 685 00:33:05,034 --> 00:33:06,450 Eller vill du prata om det? 686 00:33:06,450 --> 00:33:06,940 >> ARMAGHAN BEHLUM: Yeah. 687 00:33:06,940 --> 00:33:07,920 Låt oss göra det. 688 00:33:07,920 --> 00:33:13,680 Också en annan godbit av rådgivning, försök och tänka på detta i 3D. 689 00:33:13,680 --> 00:33:22,611 Så egentligen låt oss dra upp dessa gester en gång konsol dot log gest 690 00:33:22,611 --> 00:33:24,290 och vi gör det. 691 00:33:24,290 --> 00:33:29,460 Kom tillbaka och nu ska vi prova en par av dessa, par av dem. 692 00:33:29,460 --> 00:33:32,940 >> Om vi ​​går in och kolla dessa gester samt 693 00:33:32,940 --> 00:33:36,830 som ni kan se att de är dimensionality 694 00:33:36,830 --> 00:33:38,980 är i tre riktningar, faktiskt. 695 00:33:38,980 --> 00:33:42,500 Så inte bara begränsa dig en 2D-skärm 696 00:33:42,500 --> 00:33:45,200 även om du kanske vara på en 2D-webbplats. 697 00:33:45,200 --> 00:33:49,152 Du kan försöka tänka på hur en användare kanske interagera med webbplatsen i 3D. 698 00:33:49,152 --> 00:33:50,360 TOMAS REIMERS: I ett 3D-utrymme. 699 00:33:50,360 --> 00:33:51,401 ARMAGHAN BEHLUM: Exakt. 700 00:33:51,401 --> 00:33:52,310 Och ja. 701 00:33:52,310 --> 00:33:55,350 Så du får riktningar, hastigheter, alla dessa coola bitar av information. 702 00:33:55,350 --> 00:33:58,890 >> TOMAS REIMERS: Och om du inte bekant med den, går det x, y, 703 00:33:58,890 --> 00:34:01,566 och sedan z är denna sista dimensionen. 704 00:34:01,566 --> 00:34:04,690 Bara något som du förmodligen är bekant med om du har behandlat 3D 705 00:34:04,690 --> 00:34:05,731 koordinat plan innan. 706 00:34:05,731 --> 00:34:09,565 Om du inte har, är det samma som en 2D annan än det finns en tredje dimension. 707 00:34:09,565 --> 00:34:11,420 Vi kallar det z. 708 00:34:11,420 --> 00:34:16,449 Och allt, ungefär som riktning, som är där det kommer, 709 00:34:16,449 --> 00:34:19,810 position-- Jag tror att det kanske till och med utsätta acceleration, jag är inte säker. 710 00:34:19,810 --> 00:34:21,341 >> ARMAGHAN BEHLUM: Ja, tror jag. 711 00:34:21,341 --> 00:34:22,340 Det har definitivt hastighet. 712 00:34:22,340 --> 00:34:25,699 Jag är faktiskt inte 100% säker om acceleration. 713 00:34:25,699 --> 00:34:28,810 >> Tomas REIMERS: Det kan vara ett alternativ du kan vidarebefordra till något. 714 00:34:28,810 --> 00:34:33,409 Så position och hastighet utsätts i denna typ av tre koordinater. 715 00:34:33,409 --> 00:34:38,812 Så x, y, z, eller delta x, delta y, delta z. 716 00:34:38,812 --> 00:34:44,130 Så nu leds till dokumentationen det är developer.leapmotion.com 717 00:34:44,130 --> 00:34:46,460 och sedan kan du klicka på Dokumentation. 718 00:34:46,460 --> 00:34:50,010 Återigen, Leap Motion har alla dessa underbara API, en för JavaScript, 719 00:34:50,010 --> 00:34:53,750 en för C Sharp och Unity, en för C ++, en för Java, ett för Python, 720 00:34:53,750 --> 00:34:59,020 och en för mål C. Jag personligen skulle driva dig mot JavaScript 721 00:34:59,020 --> 00:35:01,280 eller om du vill lära dig ett nytt språk, prova Python. 722 00:35:01,280 --> 00:35:05,910 Båda dessa språk jag har arbetat med innan och de är verkligen lätt att lära 723 00:35:05,910 --> 00:35:10,250 och du vet redan JavaScript, vilket gör det till ett riktigt bra utmanare. 724 00:35:10,250 --> 00:35:12,930 >> Ett varningens ord när du anger docs. 725 00:35:12,930 --> 00:35:15,940 Se till att du är på Docs v2.0. 726 00:35:15,940 --> 00:35:20,250 För om du är på version, kommer det inte att fungera. 727 00:35:20,250 --> 00:35:21,830 Även för exemplet galleriet. 728 00:35:21,830 --> 00:35:25,100 Vi tillbringade en bra 30 minuter försöker debug vår Leap 729 00:35:25,100 --> 00:35:28,640 innan vi insåg att V1 fungerar inte med V2. 730 00:35:28,640 --> 00:35:31,660 Så se bara till att du är på version två. 731 00:35:31,660 --> 00:35:33,904 Och sen ska jag låta honom visa dina docs. 732 00:35:33,904 --> 00:35:34,820 ARMAGHAN BEHLUM: Yeah. 733 00:35:34,820 --> 00:35:39,480 Så här är API överblick och sedan vissa bitar av information 734 00:35:39,480 --> 00:35:41,420 att vi redan har berättat. 735 00:35:41,420 --> 00:35:44,270 Trevlig liten flytande händerna ovanför en Leap Motion. 736 00:35:44,270 --> 00:35:47,850 Och en påminnelse att tänka om utrymme i 3D. 737 00:35:47,850 --> 00:35:53,140 En av de första föremålen att tänka på med Leap Motion är händer, förstås. 738 00:35:53,140 --> 00:35:57,060 Vi såg dem erkända av Visualizer. 739 00:35:57,060 --> 00:35:59,180 Och då kanske du har sett att det redovisade 740 00:35:59,180 --> 00:36:03,202 del av handleden och den arm i samband med det. 741 00:36:03,202 --> 00:36:05,410 TOMAS REIMERS: Om du vill att dra upp Visualizer. 742 00:36:05,410 --> 00:36:07,190 ARMAGHAN BEHLUM: Ja, låt oss göra det igen. 743 00:36:07,190 --> 00:36:10,148 TOMAS REIMERS: Du kan se, alltid bara en bra påminnelse om att sorts se, 744 00:36:10,148 --> 00:36:14,060 den Visualizer försöker visa alla data som Leap ser. 745 00:36:14,060 --> 00:36:17,606 Så ser du att vi har dessa slags fyra punkter 746 00:36:17,606 --> 00:36:19,230 genom handleden och sedan själva handleden. 747 00:36:19,230 --> 00:36:21,625 Och du har också denna boll på handflatan. 748 00:36:21,625 --> 00:36:24,000 Alla dessa är punkter känner igen igen av språnget. 749 00:36:24,000 --> 00:36:25,041 >> ARMAGHAN BEHLUM: Exakt. 750 00:36:25,041 --> 00:36:32,300 Och så med den handen objektet Varje ram har en hand array 751 00:36:32,300 --> 00:36:36,470 samt där du kan också få vänster och höger hand. 752 00:36:36,470 --> 00:36:39,410 Du kan få vilken riktning händerna är 753 00:36:39,410 --> 00:36:42,410 inför med den normala riktningen på handflatan, 754 00:36:42,410 --> 00:36:45,470 eller som de kallar det handflatan normalt. 755 00:36:45,470 --> 00:36:46,510 Vad har vi? 756 00:36:46,510 --> 00:36:48,120 Vi har också, oops. 757 00:36:48,120 --> 00:36:50,640 Låt oss försöka rulla ner på detta sätt. 758 00:36:50,640 --> 00:36:54,410 Armarna, fingrarna är representeras av fingret 759 00:36:54,410 --> 00:36:57,890 klass, som är en riktningsbar objekt. 760 00:36:57,890 --> 00:37:01,420 Så som vi sade, såg vi att matris med pointables för varje hand. 761 00:37:01,420 --> 00:37:04,240 De är den lilla fingrar att tänka på. 762 00:37:04,240 --> 00:37:09,809 Så detta är en bra överblick för att gå genom att försöka förstå. 763 00:37:09,809 --> 00:37:11,850 TOMAS REIMERS: [OHÖRBAR] handen anatomi uppe. 764 00:37:11,850 --> 00:37:13,680 ARMAGHAN BEHLUM: Ja, exakt. 765 00:37:13,680 --> 00:37:14,220 Så ja. 766 00:37:14,220 --> 00:37:18,150 Det finns en hel del rådata som Leap Motion tar in tolkar väl 767 00:37:18,150 --> 00:37:20,750 för dig, så det är en stor idé att gå igenom här 768 00:37:20,750 --> 00:37:25,300 och försöka lista ut hur Leap har redan räknat ut saker för dig 769 00:37:25,300 --> 00:37:28,830 och så vilken information du har tillgängliga därifrån. 770 00:37:28,830 --> 00:37:33,150 Och sedan därifrån jag skulle rekommendera gå in i denna vänstra delen hit, 771 00:37:33,150 --> 00:37:39,210 som går, väl egentligen ingen, de är egentligen bara mer API grejer about-- 772 00:37:39,210 --> 00:37:42,670 >> TOMAS REIMERS: API referens vid botten är oftast ett bra ställe att gå. 773 00:37:42,670 --> 00:37:45,720 Ni såg förmodligen detta när Vi gjorde Google Maps PSET. 774 00:37:45,720 --> 00:37:48,590 Men hänvisningen egentligen bara går igenom alla 775 00:37:48,590 --> 00:37:54,540 av de funktioner och parametrar tillgängliga i objektet till dig. 776 00:37:54,540 --> 00:37:55,500 >> ARMAGHAN BEHLUM: Yeah. 777 00:37:55,500 --> 00:37:57,740 Till exempel är vad detta Jag letade efter innan. 778 00:37:57,740 --> 00:38:01,030 När vi har en hand som vi kan gå och räkna ut 779 00:38:01,030 --> 00:38:03,750 hur Leap rekommenderar för oss att hitta en hand. 780 00:38:03,750 --> 00:38:06,080 Som jag sa tidigare, vi har en händer array. 781 00:38:06,080 --> 00:38:10,340 Ta reda på om vi har händerna och sedan försöka ta en enda hand 782 00:38:10,340 --> 00:38:12,410 att interagera med på detta sätt. 783 00:38:12,410 --> 00:38:16,540 Så det är vad vi rekommendera för er killar. 784 00:38:16,540 --> 00:38:18,400 De gester och grejer liksom. 785 00:38:18,400 --> 00:38:23,857 Detta API-dokumentationen kommer att vara ett fantastiskt verktyg för er. 786 00:38:23,857 --> 00:38:25,440 Har ni några andra rekommendationer? 787 00:38:25,440 --> 00:38:26,398 >> TOMAS REIMERS: Jag gör inte. 788 00:38:26,398 --> 00:38:27,590 Jag tror det är bra för nu. 789 00:38:27,590 --> 00:38:29,340 >> ARMAGHAN BEHLUM: Ja, Jag tror det också. 790 00:38:29,340 --> 00:38:33,330 Tveka inte att maila oss och få kontakt om Leap Motion 791 00:38:33,330 --> 00:38:36,210 om du har kanske några problem eller behöver några rekommendationer. 792 00:38:36,210 --> 00:38:40,310 Och vi kan försöka lista grejer ut med er också. 793 00:38:40,310 --> 00:38:40,810 Tack. 794 00:38:40,810 --> 00:38:42,360 >> TOMAS REIMERS: Great. 795 00:38:42,360 --> 00:38:42,880