使用 TweenMax 在 PixiJS 中缩放
Scale in PixiJS with TweenMax
我正在尝试了解如何将 PixiJS 与 GSAP 库 TweeMax 一起使用。
为此,我曾经使用这两个库查看一些代码到项目中,比如这个:
http://www.shanemielke.com/archives/usopen-sessions/
但是,我很难理解为什么我无法扩展。
当我尝试缩放时,我的球会移动到 window [0, 0] 的左上角。
当我指定 scaleX 和 scaleY 时,什么也没有。
在这两种情况下,我的动画继续没有任何错误...
这是我的代码
var renderer,
stage;
var init = function() {
// We create the canvas element
stage = new PIXI.Stage(0x202020);
renderer = new PIXI.CanvasRenderer(800, 600, null, false, true);
document.getElementById("loader").appendChild(renderer.view);
$(window).resize(onResize);
onResize();
requestAnimFrame(animate);
drawElements();
};
var onResize = function() {
renderer.resize(window.innerWidth, window.innerHeight);
}
var drawElements = function() {
var ball = new PIXI.Sprite.fromImage("./img/ball.png");
ball.position.x = (window.innerWidth / 2) - 5;
ball.position.y = -10;
ball.scaleX = ball.scaleY = 1;
stage.addChild(ball);
var t1 = new TimelineMax({onUpdate:animate, onUpdateScope:stage});
t1.to(ball, 1.5, {y: (window.innerHeight / 2), ease: Bounce.easeOut})
.to(ball, 2, {scaleX: 10})
.to(ball, 2, {alpha: 0});
}
var animate = function() {
requestAnimFrame(animate);
renderer.render(stage);
}
window.onload = function() {
init();
}
干杯伙计们的帮助!
PIXI Sprite 的比例 属性 是具有 x 和 y 属性的点,因此不是:
ball.scaleX = ball.scaleY = 1;
您需要做的:
ball.scale.x = ball.scale.y = 1;
补间缩放时,需要向 TweenLite 传递缩放对象,而不是精灵本身,如下所示:
tween.to(ball.scale, 2, {x: 10});
我正在尝试了解如何将 PixiJS 与 GSAP 库 TweeMax 一起使用。 为此,我曾经使用这两个库查看一些代码到项目中,比如这个: http://www.shanemielke.com/archives/usopen-sessions/
但是,我很难理解为什么我无法扩展。 当我尝试缩放时,我的球会移动到 window [0, 0] 的左上角。 当我指定 scaleX 和 scaleY 时,什么也没有。 在这两种情况下,我的动画继续没有任何错误...
这是我的代码
var renderer,
stage;
var init = function() {
// We create the canvas element
stage = new PIXI.Stage(0x202020);
renderer = new PIXI.CanvasRenderer(800, 600, null, false, true);
document.getElementById("loader").appendChild(renderer.view);
$(window).resize(onResize);
onResize();
requestAnimFrame(animate);
drawElements();
};
var onResize = function() {
renderer.resize(window.innerWidth, window.innerHeight);
}
var drawElements = function() {
var ball = new PIXI.Sprite.fromImage("./img/ball.png");
ball.position.x = (window.innerWidth / 2) - 5;
ball.position.y = -10;
ball.scaleX = ball.scaleY = 1;
stage.addChild(ball);
var t1 = new TimelineMax({onUpdate:animate, onUpdateScope:stage});
t1.to(ball, 1.5, {y: (window.innerHeight / 2), ease: Bounce.easeOut})
.to(ball, 2, {scaleX: 10})
.to(ball, 2, {alpha: 0});
}
var animate = function() {
requestAnimFrame(animate);
renderer.render(stage);
}
window.onload = function() {
init();
}
干杯伙计们的帮助!
PIXI Sprite 的比例 属性 是具有 x 和 y 属性的点,因此不是:
ball.scaleX = ball.scaleY = 1;
您需要做的:
ball.scale.x = ball.scale.y = 1;
补间缩放时,需要向 TweenLite 传递缩放对象,而不是精灵本身,如下所示:
tween.to(ball.scale, 2, {x: 10});