gpt4 book ai didi

javascript - 流畅的 KineticJS 动画,控制速度

转载 作者:搜寻专家 更新时间:2023-11-01 04:32:36 24 4
gpt4 key购买 nike

为了好玩,我正在使用 KineticJS 创建一个简单的平面动画。

目前动画运行有点不稳定我很想有一些缓动或补间虽然我不知道如何开始。

谁能帮我算算?

<div id="container"></div>

<script src="http://www.html5canvastutorials.com/libraries/kinetic-v4.5.0-beta.js"></script>

<script defer="defer">
var stage = new Kinetic.Stage({
container: 'container',
width: 870,
height: 392
});

var layer = new Kinetic.Layer();

var xPos = 0;
var yPos = 126;
var growthFactorX = 6;
var growthFactorY = 2.6;
var growthFactorP = 3;
var planeRotation = 30;

// dashed line
var trail = new Kinetic.Line({
points: [{x: xPos,y: yPos}],
stroke: 'white',
strokeWidth: 2,
lineJoin: 'round',
dashArray: [6, 5]
});

var imageObj = new Image();
imageObj.src = '/assets/img/plane.png';
var plane = new Kinetic.Image({
x: xPos,
y: yPos - 15,
width: 54,
height: 30
});
imageObj.onload = function() {

plane.setImage(imageObj);
layer.add(plane);
stage.add(layer);
};
plane.rotateDeg( planeRotation );


layer.add(trail);
stage.add(layer);

var anim = new Kinetic.Animation(function(frame) {


if( xPos < 500 ) {

xPos = growthFactorX + xPos; // adds 3 to xPos on each loop

if( xPos > 400 ) {

yPos = yPos - growthFactorY;

if( plane.getRotationDeg() > 0 )
plane.rotateDeg( (-growthFactorP) ) ;
}

var curPoints = trail.getPoints();
var newPoints = [{x: xPos, y: yPos}];

trail.setPoints(curPoints.concat(newPoints));
plane.setX(xPos + 10);
plane.setY(yPos - 35);
}
else {

anim.stop();
}
}, layer);

anim.start();
</script>

最佳答案

我已经为你制作了一个 fiddle ,

并且改变了这些因素,我觉得它看起来很顺利,如果有任何规范请告诉我

  var xPos = 0;
var yPos = 126;
var growthFactorX = 5;
var growthFactorY = 2;
var growthFactorP = 1;
var planeRotation = 30;

fiddle link

我希望这会成功:)

关于javascript - 流畅的 KineticJS 动画,控制速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16457486/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com