parallax이펙트는 한때 페이스북 사진에서 유행했던 기법이다.
parallax이펙트가 적용된 사진의 경우,
마우스 포인트의 움직임에 따라 좌우상하로 깊이감이 생성된다.
|Parallax
zim.js는 Parallax이펙트를 적용할 수 있는 Parallax( )기능을 제공한다.
Parallax의 오브젝트로 사용할 동심원이 제각각 다른 원을 7개 가량 생성한다.
[코드]
//생략...
const parallax = new Parallax();
const colors = series(blue, pink, green, yellow);
loop(7, i=>{
let circle = new Circle((i+2)*(i+2)*3, colors()).center(stage, 0);
});
//생략...
루프구문 내, parallax의 .addLayer( )메서드를 실행하고,
오브젝트에는 위에서 생성한 원을 넣어준다.
addLayer( )의 prop기능을 통해 x, y축으로 입체감을 설정하고,
propChange속성값에 움직일 수 있는 범위를 정한다.
[코드]
parallax.addLayer({
obj:circle,
prop:"x",
propChange:i*40
});
parallax.addLayer({
obj:circle,
prop:"y",
input:'mouseY',
split:true,
propChange:i*10
});
parallax.addLayer({
obj:circle,
prop:"scale",
input:'mouseY',
propChange:1.2
});
stage.getChildAt(6)
.setMask(stage.getChildAt(5));
위의 코드를 구현해보자.
마우스 움직임에 따라 입체감이 나타나는 이미지를 볼 수 있다.
[구현]
circle이 아닌 이미지였다면,
페이스북이 제공하는 입체감 있는 사진을 재현할 수 있다.
'웹개발 자료실 > 프론트GUI 개발Code' 카테고리의 다른 글
「zim.js」 자막 내려오기 (0) | 2021.08.31 |
---|---|
「zim.js」Emitter & Blob 애니메이팅 (0) | 2021.08.02 |
「zim.js」 유투브 추천수 조작하기(feat.합성) (0) | 2021.07.30 |
「zim.js」단일페이지 썸네일GUI 제작 (0) | 2021.07.28 |
「zim.js」카드UI 페이지 (0) | 2021.07.27 |
댓글