是否可以在Phaser中用位图创建图像?
我想要做的是将精灵变形/重塑为梯形。
重绘位图数据以转换为梯形 使用以下功能:
/**
* Created by Ken Fyrstenberg / Epistemex
* License: CC3.0-Attr.
*
*/
function drawTrapezoid(ctx, img, x, y, w, h, factor) {
var startPoint = x + w * 0.5 * (factor * 0.01),
xi, yi, scale = img.height / h,
startLine = y,
endLine = y + h;
for(; y < endLine; y++) {
xi = interpolate(startPoint, y, x, endLine, (y - startLine) / h);
yi = (y * scale + 0.5) | 0;
ctx.drawImage(img, 0, yi, img.width, 1, xi, y, w - xi * 2, 1);
}
function interpolate(x1, y1, x2, y2, t) {
return x1 + (x2 - x1) * t;
}
}
问题是这个,函数使用图像重绘。我只有位图数据。
是否可以从像bitmapdata.generateImage();
那样的位图数据创建图像?
答案 0 :(得分:0)
var image = game.add.image(0, 0, bitmapdata); // x, y, key for the image
这很简单。如果你想要一个精灵而不是一个图像,也是如此:game.add.sprite(0, 0, bitmapdata)
。