2015-08-28 2 views
0

Итак, я хочу обрезать изображение, размер 400 пикселей, и он находится в библиотеке flash-профессионала с именем img1.Обрезание растрового изображения с использованием sourceRect в createJS не работает

puzzlePieceBmp = new createjs.Bitmap(new lib.img1()) 
puzzlePieceBmp.sourceRect = new createjs.Rectangle(0, 0, 100, 100); 
stage.addChild(puzzlePieceBmp.image) 

Изображение появляется всегда в одной части, независимо от того, что я выбираю для sourceRect. Я делаю что-то неправильно? Когда я смотрю на консоль, sourceRect имеет размеры, которые я определил. И я подтвердил, что этап обновлен.

+0

Во-первых, код размещен должен генерировать ошибку. Вы должны добавить Bitmap на сцену, а не изображение: 'stage.addChild (puzzlePieceBmp);'. Вероятно, вы неправильно делаете что-то еще, так как sourceRect работает корректно: http://jsfiddle.net/dhkvxz5a/ – gskinner

+0

@gskinner Ничего не появляется, если я использую stage.addChild (puzzlePieceBmp), и нет ошибки. – Condward

+0

Вам придется изолировать вашу проблему дальше. Как показано в моем примере выше, sourceRect работает с использованием кода, который вы предоставили. Вы уверены, что ваш образ не пуст в верхнем правом углу или что-то в этом роде? – gskinner

ответ

0

Если вы не изменили настройки, активы в экспортированном объекте «lib» являются символами экранного объекта. Изображения доступны через объект «img».

Итак, что делает ваш код, создается новый экземпляр Bitmap «img1», пытаясь сделать его исходным изображением для второго экземпляра Bitmap, добавив исходный прямоугольник к этому второму растровому изображению, а затем добавив оригинальный «img1» «Растровое изображение (без источника) на сцену (путем доступа к bmp.image).

Чтобы это исправить, просто избавиться от второго Bitmap: puzzlePieceBmp = new lib.img1(); // this creates a Bitmap, not an Image puzzlePieceBmp.sourceRect = new createjs.Rectangle(0, 0, 100, 100); stage.addChild(puzzlePieceBmp);

+0

. Я решил эту проблему, я снял флажок «Экспортировать все растровые изображения в виде спрайтов» и использовал тот же код, который вы мне дали. благодаря – Condward

Смежные вопросы