gpt4 book ai didi

javascript - Createjs - Tweenjs 不适用于位图

转载 作者:行者123 更新时间:2023-12-02 18:33:45 27 4
gpt4 key购买 nike

我有一个例子,我想用easel.js位图创建动画,但它似乎不起作用。在这个项目中,我使用preload.js来加载图像;卡中裁剪卡图片;创建 Bitmap 对象并尝试使用 tween.js 为该位图设置动画任何人都可以帮助我。谢谢!

<!DOCTYPE html>
<html>
<head>
<title></title>
<script src="Scripts/CanvasLib/easeljs-0.6.1.min.js"></script>
<script src="Scripts/CanvasLib/preloadjs-0.3.1.min.js"></script>
<script src="Scripts/CanvasLib/soundjs-0.4.1.min.js"></script>
<script src="Scripts/CanvasLib/tweenjs-0.4.1.min.js"></script>
</head>
<body>
<canvas id="CanvasDemo" width ="1024" height="768" style="border:1px solid #000000;"> </canvas>

<script>
var queue = new createjs.LoadQueue(),
stage = new createjs.Stage("CanvasDemo"),
text = new createjs.Text("Welcome to canvas demo!", "40px Bold Aria"),
image = {},
card = {};

stage.addChild(text);
//stage.autoClear = false;

queue.addEventListener("complete", handleComplete);
queue.loadManifest([
{ id: "myImage", src: "Images/card.png" }
]);

function handleComplete() {
image = queue.getResult("myImage");
card = new createjs.Bitmap(image);
card.sourceRect = new createjs.Rectangle(56, 74, 56, 74);
stage.addChild(card);
createjs.Tween.get(card).to({ x: 600, y: 1000 }, createjs.Ease.linear);

createjs.Ticker.addListener(this);
}

function tick() {
text.x += 5;

if (text.x >= 1024) {
text.x = 0;
}

text.y = 50 + Math.cos(text.x * 0.1) * 10;

text.color = createjs.Graphics.getHSL(360 * Math.random(), 50, 50);
stage.update();
}
</script>
</body>
</html>

最佳答案

这工作得很好 - 除非您跳过了 Tween.to 调用上的“duration”参数(而是指定了缓动,这是第三个参数)。这使其成为 0 持续时间的补间,最终出现在舞台外(因此您永远不会看到它)。

试试这个:

createjs.Tween.get(card).to({ x: 600, y: 1000 }, 1000, createjs.Ease.线性);

关于javascript - Createjs - Tweenjs 不适用于位图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17545877/

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