내 데모에서. 서로 오버레이하는 몇 개의 타원을 만들 수 있습니다. 각 타원은 약간 회전하고 클릭이 바깥쪽으로 늘어나야합니다.방향을 가리키는 방향으로 경로를 축척하는 방법
그러나 지금은 .scale (x, y)를 사용하고 타원의 높이가 수직으로 증가합니다.
나는 내가 생각하는 사물의 종류의 첫번째
\t paper.install(window);
\t var canvas = document.getElementById("myCanvas");
\t window.onload = function() {
\t \t paper.setup('myCanvas');
\t \t var numberOfRings = 6,
\t \t \t rings = [],
\t \t \t size = [225,400],
\t \t \t colors = ['black','green','orange','blue','yellow','grey'],
\t \t \t max_frame = 50,
\t \t \t negative_scale = 0.99,
\t \t \t positive_scale = 1.01;
\t \t for(var i = 0; i < numberOfRings; i++)
\t \t {
\t \t \t var path = new Path.Ellipse({
\t \t \t center:view.center,
\t \t \t size: size,
\t \t \t strokeColor: colors[i],
\t \t \t strokeWidth :10
\t \t \t });
\t \t \t var rotate = 30*i +30;
\t \t \t path.rotate(rotate);
\t \t \t path.animation = false;
\t \t \t path.rotateValue = rotate;
\t \t \t path.animationStartFrame = 0;
\t \t \t path.animationScale = positive_scale;
\t \t \t path.smooth();
\t \t \t path.animationIndex = i;
\t \t \t path.onClick = function(event) {
\t \t \t \t rings[this.animationIndex].animation = true;
\t \t \t }
\t \t \t rings.push(path);
\t \t }
\t \t view.onFrame = function(event) {
\t \t \t for(var i = 0; i < numberOfRings; i++)
\t \t \t {
\t \t \t \t if (rings[i].animation == true){
\t \t \t \t \t if (rings[i].animationStartFrame == 0)
\t \t \t \t \t {
\t \t \t \t \t \t rings[i].animationStartFrame = event.count;
\t \t \t \t \t }
\t \t \t \t \t if (rings[i].animationStartFrame > 0 && event.count < (rings[i].animationStartFrame + max_frame)){
\t \t \t \t \t \t // TODO
\t \t \t \t \t \t rings[i].scale(1,rings[i].animationScale);
\t \t \t \t \t } else if (event.count > (rings[i].animationStartFrame + max_frame)){
\t \t \t \t \t \t rings[i].animation = false;
\t \t \t \t \t \t rings[i].animationStartFrame = 0;
\t \t \t \t \t \t if (rings[i].animationScale == negative_scale)
\t \t \t \t \t \t \t rings[i].animationScale = positive_scale;
\t \t \t \t \t \t else
\t \t \t \t \t \t \t rings[i].animationScale = negative_scale;
\t \t \t \t \t }
\t \t \t \t }
\t \t \t }
\t \t }
\t }
canvas{
\t width: 100%;
\t height: 100%;
}
<!DOCTYPE html>
<html>
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/paper.js/0.11.5/paper-full.min.js"></script>
</head>
<body>
\t <canvas id="myCanvas" resize></canvas>
</body>
</html>
* 원하는 * 효과는 무엇입니까? –
반지가 클릭되면. 링은 직각을 그리며 펼쳐져 있어야합니다. 초기 봐 - https://codepen.io/kneepham/pen/qVeJwG 최종 보면 모든 반지 가 내가 밖으로 어떻게내는 문제에 봉착 https://codepen.io/kneepham/pen/PEwLgz 클릭 - 때 높이를 늘리십시오. – MagicCat707