Я работаю над игрой с использованием EaselJS, и я все еще пытаюсь выполнять функции, предоставляемые этой замечательной библиотекой.EaselJS spritesheet анимация делает фон исчезающим
Что мне может понадобиться, это класс Alphamaskfilter & Класс Spritesheet.
В настоящее время у меня есть холст, как это:
<canvas id = 'container3' width = 320px; height = 480px;
style = 'outline: 2px solid; margin-right: 10px;float:left;'></canvas>
и в моем сценарии, я должен нарисовать прямоугольник с синим цветом:
var ctx3 = document.getElementById('container3').getContext('2d');
ctx3.beginPath();
ctx3.rect(0,0,320,480);
ctx3.fillStyle = 'blue';
ctx3.fill();
Так что теперь у меня есть синий цвет 320 * 480. А теперь у меня есть спрайт лист анимировать на нем, здесь спрайт и код, который я написал: http://i.imgur.com/XumDvic.png
PS: спрайт кадр 200 * 200 FYI.
stage = new createjs.Stage(document.getElementById('container3'));
var test = new Image();
test.src = 'trans_blackball.png';
test.onload = function(){
var sprite = new createjs.SpriteSheet({
images: [test],
frames: {width: 200, height: 200},
animations: {
born: [0,3,0]
}
});
var animation = new createjs.BitmapAnimation(sprite);
animation.gotoAndPlay("born");
animation.x = 10;
animation.y = 10;
animation.currentFrame = 0;
stage.addChild(animation);
createjs.Ticker.addListener(window);
createjs.Ticker.useRAF = true;
createjs.Ticker.setFPS(10);
}
function tick(){
stage.update();
}
Хорошо, мой вопрос: Я ожидаю, что анимацию расширяющейся черный круг на синем фоне (Rect), но то, что я получил, во-первых, полотно синего цвета, но для определенной мини-второй после , весь холст стал белым, а анимация бежит на белом фоне, в чем причина этого и как я могу его решить?
Вот две точки, которые могут помочь:
- Я работаю с хромом, и я проверяю с F12 & консоль, FillStyle холста еще голубой даже кажется белым после начала спрайт анимации
Если я установил свойство фона холста синим, а не рисую синим прямоугольником на нем, все в порядке!
<canvas id = 'container3' width = 320px; height = 480px; style = 'background: blue; outline: 2px solid; margin-right: 10px;float:left;'></canvas>
, но ясно, что это не то, что я хочу ...
Проблема может быть решена, а не используя родной холст прямоугольник, но использовать Shape EaselJS, чтобы нарисовать прямоугольник:
var shape = new createjs.Shape(); shape.graphics.beginFill("#ff0000").drawRect(0, 0, 320, 480); stage.addChild(shape);
Но я все еще хочу знать, почему родной код прямоугольник рисунок не работает ...
Голосуйте за мой плохой английский и спасибо за чтение и любую попытку помочь ... Я могу подробнее рассказать, если в ситуации есть что-то непонятное.