W tym samouczku będziemy tworzyć szereg obrazów z trójkątów SVG i konfigurowanie animowanego przejścia z jednego obrazu do drugiego na kliknięcie. Będzie wyglądać coś w rodzaju Twarze mocy stronie internetowej. Te animacje mogą naprawdę zwiększać miejsce do witryny, w szczególności wstęp , a także poprawiać doświadczenie użytkownika . Jeśli masz złożoną stronę do utrzymania, będziesz potrzebować super hosting usługa. budowanie czegoś mniej skomplikowanego? ZA Kreator strony internetowej może wykonać zadanie.
Aby rozpocząć mamy zacząć od dwóch tablic: jeden z wartościami jesteśmy animując, a jedną z wartościami jesteśmy animującym. Za każdym razem kliknięto link, znajdziemy SVG, który pasuje do href. tego linku i zdobyć zwrotnica atrybut każdego z wielokątów w tym konkretnym SVG.
Wyodrębniemy wszystkie współrzędne w zwrotnica Atrybut, uzyskaj kolor wypełnienia wielokąt, a następnie dodaj je jako właściwości obiektu. Następnie dodamy wszystkie te obiekty do jednej z dwóch tablic: do szyk.
Użyjemy Tweeenmaxa do animacji wartości od Tablica do wartości do szyk. Po zakończeniu animacji, ustawmy do Tablica stać się nowym od szyk.
Na pierwszy bieg od Array będzie zawierać wszystkie wartości punktów i wszystkie kolory wypełnienia aktualnie widocznych wielokątów.
a href = "# NAT" & GT; Nat & LT; / A & GT;
& lt; a href = "# bwl" & gt; bwl & lt; / a & gt;
& lt; a href = "# kevin" & gt; kevin & lt; / a & gt;
& LT; SVG Class = "SVG-Holder" & GT;
wielokąty dla #nat idą tutaj
& lt; / svg & gt;
& LT; SVG ID = "NAT" Class = "Hidden" & GT;
wielokąty dla #nat idą tutaj
& lt; / svg & gt;
& LT; SVG ID = "BWL" Class = "Hidden" & GT;
Poligoki dla #bwl idą tutaj
& lt; / svg & gt;
& LT; SVG ID = "Kevin" Class = "Hidden" & GT;
Wielokony na #evin idą tutaj
& lt; / svg & gt;
Pierwszym krokiem jest robić obrazy. Dla tego użyłem narzędzia o nazwie Prymitywny (Sprawdź Github Repo. ). Obrazy używane w samouczku są osobistymi obrazami kilku przyjaciół.
Uruchom wybrane obrazy przez prymitywne narzędzie za pomocą wiersza poleceń:
Primitive -i wejście.jpg -o Wyjście.Svg -n 250-m 1
-n 250. Określa 250 wielokątów, -M 1. Określa kształt trójkąta i - Input.jpg -o Output.Svg są wejście i wyjście. Ważne jest, aby wszystkie SVG mają taką samą liczbę wielokątów i są tym samym kształtem. Wyjście.svg. będzie kolekcją wielokątów.
Po utworzeniu SVG wklej je do ciała HTML. Zduplikuj pierwszy SVG i daj jedną z duplikatów klasy .svg-holder. .
The. .svg-holder. będzie jedynym, który jest widoczny technicznie; Będzie to uchwyt do wszystkich wielokątów, które są animowane i poza nim. Daj wszystkie SVG, z wyjątkiem posiadacza klasy ukryty i an. ID z unikalną nazwą. To powinno pasować do href. w linkach. Ukryte SVG zostaną ukryte Nie wyświetla się; . Ważne jest, aby upewnić się href. każdego linku odpowiada ID odpowiedniego SVG.
Następnie zadeklaruj zmienne:
Niech Topolygonarray = [];
Niech frompoligonarray = [];
Teraz musimy przejść przez każdego z naszych wielokątów i uzyskać współrzędne w atrybucie punktów. Możemy to zrobić za pomocą REGEX:
Const GetCoordines = (wielokąt) = & gt; {
powrót poligon.getattribute ("punkty"). Mecz (/ (-? [0-9] [0-9.] *), (-? [0-9] [0-9.] *) ( -? [0-9] [0-9] *) (-? [0-9] [0-9.] *) (-? [0-9] [0-9.] *) (-? [0-9] [0-9.] *) /);
};
Za każdym razem kliknięci jest link, zamierzamy uruchomić funkcję, która wymaga HREF klikniętego linku jako argument i znajdź pasujące SVG, zdobądź wartości punktów, animować go i zaktualizuj z tablicy.
ConstpoliGonarrays = (idtoANimateto) = & gt; {
Topolygonarray = CreatepolygonPointSobject (Document.getElementByidyid (IdtoANimateto) .QuerySelesterall ("wielokąt"));
animatePolygons ();
frompolygonarray = topolygonarray;
}
Ta funkcja wywołuje dwie inne funkcje - CreatepoligonPointSobject. i animatepolygons. .
CreatepoligonPointSobject. Konwertuje wszystkie elementy wielokąt w obiekty, które możemy animować wartości i animatepolygons. animuje wielokątów wewnątrz .svg-holder. .
ConstePoligonPointSobject = (wielokąty) = & gt; {
Const PolygonSarray = [];
wielokądy.Forach ((wielokąt, i) = & gt; {
Cinki współrzędne = Getcoordinates (wielokąt);
poligonsarray.push ({
wypełnij: wielokąt.getTtribute ("wypełnij"),
Jeden: współrzędne ,
dwa: współrzędne ,
Trzy: współrzędne ,
Cztery: współrzędne ,
Pięć: współrzędne ,
Sześć: współrzędne
});
});
powrót poligonrayarray;
}
To używa naszego Getcoordinates. Funkcja, aby uzyskać wszystkie współrzędne w atrybucie punktów i tworzy obiekt z każdą współrzędną i wypełnieniem. Zwraca tablicę obiektów. Postanowiłem uczynić je przedmiotami, ponieważ typ danych wydaje się łatwiej pracować, gdy jesteś animując dużo wartości jednocześnie.
Użyjmy Tweeenmax, aby animować wielokątów.
Const AnimatePolygons = () = & GT; {
Const Poligons = Document.QuerySelector (". Uchwyt SVG"). Queryselectorall ("wielokąt");
Frompolygonarray = CreatepoligonPointSobject (wielokąty);
frompolygonarray.Foreach ((obj, i) = & gt; {
Tweenmax.to (obj, 1, {
Jeden: Topolygonarray [I] .One,
Dwa: Topolygonarray [I] .Two,
Trzy: Topolygonarray [I] .three,
cztery: topolygonarray [i] .Four,
Pięć: Topolygonarray [I] .five,
Sześć: Topolygonarray [I] .six,
łatwość: Power3.easeOut,
onupdate: () = & gt;
{
Wielokony [i] .setattribute ("punkty", `$ {obj.one}, $ {obj.two} $ {obj.three}, $ {obj.four} $ {obj.five}, $ {obj.six } `);
}
});
});
}
Na każdej klatce animacji pętla ta ożywia atrybut punktów aktualnie widocznych wielokątów .svg-holder. do nowych wartości ustawionych powyżej. The. OnUpdate. metoda in Tweenmax.to. nazywa się za każdym razem, gdy aktualizacje animacji, więc tutaj zostanie uruchomione na każdej zmianie wartości obj.one. , obj.two. , obj.three. , i tak dalej. W ten sposób punkty wartości mają animować i kształt morfy mają różne współrzędne.
Następnie możemy animować wypełnienia. Dla każdego wielokąta .svg-holder. , ustaw wypełnienie do wypełnienia topolygonarray. to jest w tym samym indeksie.
wielokąty.Foreach ((wielokąt, i) = & gt; {{
Const ToColor = Topolygonarray [I]. wypełnienie;
Tweenlite.to (wielokąt, 1, {
Wypełnij: ToColor,
Łatwość: Power3.easeOut.
});
});
Teraz wielokąty będą animować ich współrzędnych i ich kolorów wypełnionych zgodnie z oczekiwaniami. I jesteś skończony! Chcesz zapisać swoje strony? Eksportuj je jako PDF i upuść je magazyn w chmurze .
Aby poprawić swoje umiejętności projektowania stron internetowych, udaj się do naszej konferencji generować i doświadczają zapakowanego harmonogramu wiodących przemysłu, warsztatów i cennych możliwości sieciowych. Nie przegap tego! Uzyskaj teraz bilet generowany .
Czytaj więcej:
Płomień malarz to samodzielna pakiet efektów farb i cząstek, który umożliwia szybką i łatwo tworzyć oryginalne obrazy, efekty świetlne, niekonwencjonalne wzory lub fantastyczne tła..
Renderowanie obrazu, animacji modelu lub nawet całej sceny jest ważnym krokiem w tworzeniu sztuki. Bez tego ważnego etapu wyni..
(Kredyt obrazu: Robert Pizzo) Superfriendly Dyrektor Dan Mall będzie dzieli się swoimi wskazówkam..
Korzystanie ze świateł kopułowych był jednym z największych postępów w tworzeniu CGI w ciągu ostatnich kilku dekad. Kąpi..
Jeśli chcesz wykonać prysznic Meteor 3D dla sceny lub projektu, możesz łatwo renderować fotorealistyczne prysznic meteor w d..
Adobe wydał dwa nowe samouczki wideo, które pomogą Ci wziąć swój Photoshop Kreatywna chmura Umiejętności d..
Ten samouczek pokazuje, jak symulować efekt wylewania płynnego. Istnieją różne oprogramowanie i wtyczki, których możesz u�..
Zachodnie są czymś, co zawsze kochałem. W tym samouczku utworzę obraz w typowym stylu mangi, ale położę w dzikim zachodnim..