CocoonJS Canvas图像模式填充不起作用

时间:2014-05-23 08:22:04

标签: image html5-canvas fill cocoonjs

我正在使用HTML5 Canvas绘制GUI。

图像模式填充在浏览器(包括移动设备)中运行良好,但是当我在Android或iPad上使用Cocoon JS启动器时,纹理图案只显示为黑色。

var pattern = context.createPattern(imageResource,"repeat");
context.fillStyle = pattern;
context.fillRect(0,0,300,300);

查看CocoonJS控制台,纹理正确加载, context.drawImage()可以正常使用相同的图像。

文档表明支持Canvas模式。任何想法为什么模式填充在CocoonJS启动器中不起作用?

由于

2 个答案:

答案 0 :(得分:0)

CocoonJS支持Canvas模式。此示例在具有POT和NPOT纹理的CocoonJS Launcher上正常工作:

var canvas = document.createElement("canvas");
canvas.width = window.innerWidth;
canvas.height = window.innerHeight;
document.body.appendChild(canvas);
var ctx = canvas.getContext("2d");

var img = new Image();
img.onload = function() {
    var pattern = ctx.createPattern(img,"repeat");
    ctx.fillStyle = pattern;
    ctx.fillRect(0,0,300,300);
}
img.src = "img.png";

请分享更多代码以重现问题。

答案 1 :(得分:0)

我设法在初始化三个JS(渲染器,相机等)之后跟踪我正在加载图像资源的事实。

尽管在尝试Canvas纹理填充之前我正在等待加载图像资源,但如果在Cocoon启动器中,我得到了“没有填充”#39;问题

我所做的就是改变事物的顺序:首先加载图像资源,然后初始化ThreeJS。填充似乎现在在发射器内完美地工作,虽然我不完全确定原因。