ved hjælp af createjs - easeljs,,,,, 116,,,,,,,,, 33,,,,,,, det cyber - mandag envato tuts + kurser vil blive reduceret til $3.- og' t miss.,, i denne forelæsning, vi vil undersøge de createjs suite af biblioteker.createjs er suite af javascript biblioteker og værktøjer til bygning af rige, interaktive erfaringer med html5.den createjs suite er opdelt i fire biblioteker.,,,,, easeljs - gør arbejdet med html5 lærred let.,, tweenjs - for tweening html5 og javascript egenskaber, soundjs - lader du nemt arbejde med html5 lyd, preloadjs - lader dig lede og koordinere lastning af aktiver, den første bibliotek, vil vi se på easeljs.lad os komme i gang!,,, easeljs forklaret, easeljs er et bibliotek for at samarbejde med html5 lærred.den består af en fuldstændig, hierarkisk display - liste, en central interaktion model, og hjælper klasser for at gøre arbejde med lærred meget lettere.at komme op at køre med easeljs kunne ikke være nemmere.du bliver nødt til at definere et lærred element i deres html og reference i din javascript.easeljs anvender begrebet en fase, som er den øverste beholder for at vise liste (etape vil være din lærred element).følgende er en html fragment og de tilsvarende javascript for at fælde easeljs.,, < lærred id = "testcanvas" bredde = "600" højde = "300" > < /lærred >,, som henvisning til ovennævnte lærred, du ville bruge følgende.,, var lærred = dokument. getelementbyid ("testcanvas") var trin = nye createjs. fase (canvas);,,, at de grafiske og forme klasser,,,, easeljs kommer med en grafisk klasse, der afslører en let at anvende api til generering af vektor tegning instrukser og trække dem til en bestemt kontekst.kommandoer er meget lig den normale html5 lærred, mens easeljs føjer nogle af sine egne nye ordrer, så godt.hvis du ikke er bekendt med: 5 lærred, og at der befaler, du vil måske se gulvet væsentlige kurs, som for nylig blev løsladt.du vil normalt ikke anvende den grafiske klasse af sig selv, men snarere adgang i form af klasse.nedenfor er der en jsfiddle, der anvender denne form for at gøre noget ved klasse.,,,,, så du kan se i ovennævnte kode kommandoer er chainable, shapeobject. grafik. setstrokestyle (1). beginstroke ("rgba (0,0,0,1) osv.du kan også har bemærket, en opfordring til scenen. addchild() inden for funktioner.hvis du vil have noget på gulvet, må du kalde, fase. addchild(),.i, drawshapes(), funktion, der er en opfordring til scenen. update(),.at være i stand til at se deres ændringer, må du kalde, fase. update(), efter hver ændring af lærred.der er en måde ikke at have til gentagne gange at ringe, fase. update(), og det er ved hjælp af urværket klasse.hjemkomst er en centraliseret tik eller hjerteslag udsendelse på et interval.lyttere kan abonnere på tik tilfælde meddeles, når et bestemt tidsinterval.nedenfor er, hvordan du ville bruge hjemkomst klasse til automatisk at ajourføre den fase,.,, createjs. hjerte. addeventlistener ("blodmide", handletick); funktion handletick (ref.) (fase. update()}, formen klasse kommer med en hel masse egenskaber kan du justere såsom, x, y, holdninger, alfa, scalex, scaley, og flere andre.nedenfor er der en demo, der viser nogle af disse egenskaber,.,,,, som, drawtheshapes() genererer vi 15 cirkler med en linje, der går gennem dem, der er i stand til at kæde den tegning kommandoer er død simpelt.så vi randomize form, omfang, rotation og alpha.,, du kan lægge de begivenheder former såsom, klik, mousedown /i /, osv., idet, on() metode.i denne demonstration, når du klikker på en af de former, en indberetning er kastet op, og mouseout log en besked til konsollen.for at give mulighed for mus begivenheder på scenen, mousedown /i /osv. skal du ringe, fase. enablemouseover (hyppighed), hvor frekvensen er antallet af gange pr. sekund til at transmittere mus begivenheder.denne operation er dyrt, så det er handicappede ved misligholdelse.,,, teksten klasse, klasse easeljs skibe med en tekst, som gør det meget nemt at skabe tekst, og at ændre egenskaber på denne tekst.kalder du det pågældende passerer i teksten en skrifttype, og en farve, dvs. nye createjs. tekst ("verden", "20px arial", "# ff7700"), som formen klasse, det kommer med en række forskellige egenskaber og metoder.nedenfor er der en demo af teksten klasse.,,,, svarende til det sidste demo, skaber vi 25 textfields og anvende nogle tilfældige værdier til deres egenskaber.,,, demo - projektet - - følgende demo er en bøddels spil, der fremkommer ved udformning og tekst klasse har vi drøftet hidtil i denne lektion.,,,, at drage bødlen, vi anvender en kombination af lineto(),, moveto(), og for hoved, vi bruger, arc() metode.i, drawcanvas(), funktion, som vi kalder det, clear(), metoden, hangmanshape.graphics, som godkender eventuelle tidligere tegninger, vi har gjort i denne form.vi ændrer textfields farve, afhængigt af om aktør har vundet eller tabt deres spil.,,, bitmaps, kan du bruge billeder ved hjælp af den bitmap klasse.en bitmap udgør et image, lærred, eller video i skærmens liste, kan det være instantierede ved hjælp af en eksisterende html element eller en serie (base64).for eksempel nye createjs. bitmap ("imagepath jpg"),.,, <,, som meget ligner tidligere demos, skaber vi tre bitmaps her, og give nogle tilfældige egenskaber til dem. vi vil bruge skygge klasse for at skabe nogle skygger.skyggen klasse er parametre, farve, offsetx, offsety, og størrelsen af den tåge virkning osv. myimage.shadow = nye createjs. skygge ("# 000000", 5, 5, 10).du kan anvende skygger skærme objekt, så det ville arbejde for tekst.,,, sprite og spritesheets, en sprite udviser en ramme eller sekvens af stel (som en animation) fra en spritesheet instans.en sprite blad er en række billeder (normalt animation stel) kombineres i et enkelt billede.for eksempel en informationskampagne, der består af otte 100x100 billeder kunne kombineres i en 400x200 sprite status (fire billeder på tværs af to højt).du kan vise de billeder, billeder som en informationskampagne, og selv sekvens tegnefilm sammen.for at aktivere en sprite eksempel du bestå i en spritesheet og frivillig ramme nummer eller informationskampagne for at spille, f.eks. nye createjs. sprite (spritesheet, "løb").oplysningerne videregives til de spritesheet konstruktøren definerer tre kritiske oplysninger:,,, image eller billeder til brug.,, holdningen hos de enkelte image stel.This data can be represented in one of two ways: As a regular grid of sequential, equal-sized frames, or as individually defined, variable sized frames arranged in an irregular (non-sequential) fashion., , Likewise, animations can be represented in two ways: As a series of sequential frames, defined by a start and end frame [0,3], or as a list of frames [0,1,2,3]., , ,Below is some sample code that would initialize a "character" sprite., ,var data = new createjs.SpriteSheet({ "images": ["path/to/image.png"], "frames": {"regX": 0, "height": 96, "count": 10, "regY": 0, "width": 75}, "animations": {"walk": [0, 9]} }); character = new createjs.Sprite(data, "walk"); character.play();, ,Here is a demo using the Sprite and SpriteSheet klasse.du skal ind på scenen, og så kan du bruge "a" til venstre, og "d" til højre.en ting er at konstatere, om det demo - er, at jeg har base64 - kodede billeder, og de er opført som "imagestrings. er" eksterne ressourcer.fordi vi er ved hjælp af en spritesheet og interaktion med mus gulvet bliver påvirket af tværgående billeder politik (cors).ved hjælp af base64 - bånd, vi kan klare det.hvis det blev afholdt på deres eget område, du ville bruge bitmap klasse som sædvanlig ved at vedtage et element eller sti.,,,, som, setup(), funktion, vi skaber, spritesheet,.til "billeder" nøgle, jeg kører i, characterimage, som er en base64 - kodet snor.til "billeder" centrale karakter billeder er 96 pixels højt, 75 pixels bredde, og der er ti stel (separate billeder).nedenfor er det billede, vi bruger til, spritesheet, så du kan se, hvad det ligner.,,,,,,, til "udvikling" centrale vi definerer en "løb" informationskampagne, der er fra "ramme" nul til ni.til sidst, vi skaber, karakter af, spritesheet,.,, når du flytter karakter til venstre eller højre, vi kalder karakter. play(),.og når du stoppe karakter, vi kalder karakter. gotoandstop (0).eftersom vi kun har en "animation", kan vi bare kalde, play(), og gotoandstop(), hvis du havde en række animeringer, du ville bruge en kombination af disse to plus gotoandplay(),.,,, container, beholderen klasse er en nestable display - liste, som giver dem mulighed for at arbejde med renters display elementer.f.eks. kunne du gruppe, arme, ben, kroppen og hovedet bitmap tilfælde sammen til en person, beholder, og gør dem som en gruppe, og stadig være i stand til at flytte de enkelte dele i forhold til hinanden.børn af containere, har deres omdanne og alpha egenskaber forbundet med deres oprindelige beholder.nedenfor er der en demo af beholderen klasse.klik på det tidspunkt flytter containeren ved 20 pixels.,,,,,,, så vi skaber tre bitmaps og lægge dem til det, beholder, er vi i stand til at flytte dem alle på én gang ved at flytte den, beholder, og selv om de er i en container, du kan stadig bevæge dem hver især cache().,,,,, cache() metode til at vise objekt henleder display genstand i et nyt lærred, som derefter bruges til efterfølgende drager.for komplekse indhold, som ikke ændrer sig hyppigt (f.eks. en beholder med mange børn, som ikke går, eller en kompleks vektor form), kan dette give mulighed for hurtigere at gøre, fordi indholdet ikke har brug for på ny at blive gjort hver tik.,, skjult display genstand kan flyttes, roteres, falmet osv. frit, men hvis dens indhold, ændringer, du må manuelt ved at ajourføre lager, updatecache(), eller, cache(), igen.du skal angive cache område via x, y, w, og h parametre.det definerer den rektangel, der vil blive truffet og skjult ved hjælp af denne udstilling objekt er koordinater.kravene bør normalt ikke anvendes på, bitmap, klasse, som det kan forringe præstationer, men hvis du ønsker at bruge et filter på, bitmap, så må det være skjult, på grund af størrelse begrænsninger på jsfiddle journalister med. jeg vil ikke give en demo for denne metode, men vil forbinde dig til en demo på createjs websted.,,, filtre, kanalfilterklasse er basen klasse, at alle filtre skal arve fra.filtre skal anvendes til genstande, der er blevet skjult ved hjælp af cache - metoden.hvis et objekt ændringer, skal du cache det igen eller anvendelse, updatecache(),.bemærk, at filtre skal anvendes, før caching.easeljs kommer med en række forudgående bygget filtre.bemærk, at individuelle filtre, ikke er udarbejdet i minified version af easeljs.at bruge dem, skal du tage dem manuelt i html.,,, alphamapfilter: kort en grayscale image alfa kanal af en udstilling objekt, alphamaskfilter: kort et billede er alfa - kanal til alfa - kanal, en skærm objekt, blurfilter: gælder vertikale og horisontale slør for et display objekt, colorfilter: farve, omdanne et display objekt, colormatrixfilter: omdanne et billede ved hjælp af en colormatrix, demo - under bruger farver filter, når du klikker på scenen, det fjerner den grønne kanal fra billedet.den farve filter, skal følgende parametre.,, colorfilter ([redmultiplier = 1] [greenmultiplier = 1] [bluemultiplier = 1] [alphamultiplier = 1] [redoffset = 0] [greenoffset = 0] [blueoffset = 0] [alphaoffset = 0]), de røde, grønne, blå, - og multiplikatorer forventes at blive et nummer fra nul til en, og de røde, grønne, blå og alpha udligne forventes at blive et nummer fra 255 255.,,,,, skaber vi en regelmæssig bitmap objekt, anvende filter, og lager den bitmap.,,, endelige demo. jeg har skabt et sidste område, som vi vil bygge videre på i den næste del af denne serie, ved at tilføje sunde, preloading aktiver, og ved hjælp af tweens.,,,,,,, det demo - vi er utlizing, bitmap, tekst, og formen, klasser, for at skabe en space lnvaders type spil.jeg vil ikke gå over ethvert skridt, idet formålet blot for at vise, hvordan man binder de koncepter sammen, - - men hvis du har spørgsmål om kode føle sig fri til at bede i bemærkningerne.kollisionen påvisning er leveret af osln via github.,,, konklusion i denne forelæsning, har vi taget et kig på easeljs og har gjort et par demo ansøgninger.jeg håber, du har fundet det nyttigt, og at det bliver artikel glæder du bruger easeljs.tak for det!,