Załóżmy, że mam trzy warstwy: pierwszy plan, pośrednią ziemię i tło. Na czym polega użycie tych trzech warstw do tworzenia przewijania paralaksy ?
Załóżmy, że mam trzy warstwy: pierwszy plan, pośrednią ziemię i tło. Na czym polega użycie tych trzech warstw do tworzenia przewijania paralaksy ?
Odpowiedzi:
Podziel pozycję każdej warstwy przez „odległość”, jaką chcesz ustawić od kamery.
Na przykład: Utwórz kilka zmiennych reprezentujących pozycję kamery, cameraX
i cameraY
. Ustaw je tak, aby równały się z twoją postacią, prawdopodobnie dodając nieco więcej w kierunku ruchu.
Główna warstwa byłaby po prostu ustawiona
mainLayer.x = -cameraX;
środkowa warstwa przy czymś takim
middleLayer.x = -cameraX * 0.5;
i daleka warstwa przy
farLayer.x = -cameraX * 0.2;
Zmień stałe w razie potrzeby.
Zasadniczo chcesz, aby obiekty poruszały się szybciej, im bliżej „kamery”. To, jak wdrożysz, zależy od Ciebie.
Każdej z warstw przypisuję głębokość, a następnie, gdy przewijam scenę, dla każdej warstwy dzielę przewijanie przez głębokość warstwy, aby warstwy znajdujące się dalej oddalały się wolniej.
Najlepszym sposobem na to jest po prostu renderowanie duszków jako billboardowych quadów w 3D. „Rozgrywka” może odbywać się na jednej płaszczyźnie, podczas gdy tło i pierwszy plan mogą być umieszczone bliżej lub dalej w przestrzeni 3D. W ten sposób efekt paralaksy jest obsługiwany bez konieczności specjalnego kodowania :-)