Я использую библиотеку easelJS с несколькими объектами bitmapSequence на моем холсте. Возможно, я задаю не тот вопрос, потому что не понимаю, как это работает. Я постараюсь объяснить свою ситуацию как можно яснее.
Я помещаю несколько объектов bitmapSequence (последовательности анимации спрайта) на холст и перемещаю их в глобальную функцию tick (), устанавливая свойства x и y. После того, как я установил их свойства x и y, я вызываю stage.update (), который заново отображает холст и все объекты bitmapSequence в их новых местоположениях.
После вызова stage.update (), но все еще внутри функции tick (), я назначаю переменную ctx для canvas.getContext ('2d'). Затем я вызываю ctx.fillRect (0, 0, 8, 8). В этом случае аргументы 0,0 (x, y) для fillRect ALWAYS представляют точку начала для самого последнего объекта bitmapSequence, для которого я изменил атрибуты x и y до вызова stage.update ().
Это означает, что если я нарисую прямоугольник с 0,0, он будет показан в начале самого последнего объекта bitmapSequence, который я использовал, и будет следовать bitmapSequence при его перемещении).
Если я попытаюсь получить 2-мерный контекст и нарисовать прямоугольник до stage.update (), он не появится на холсте.
В идеале я хотел бы иметь возможность рисовать прямоугольники относительно источника любого объекта bitmapSequence, который я желаю. Пожалуйста, помогите мне понять, что я неправильно понимаю.