[]微信小游戏开放数据域按钮点击位置偏移

在开放数据域用laya引擎绘制出canvas,上面放了一个按钮。
然后在主域里面把canvas显示了出来,但是我点击按钮没反应,发现点击屏幕的其他地方触发了我的按钮监听。按照网上的教程我也重置了Matrix,还是没用,求解

羊羊羊游戏机

赞同来自:

111.png

如图,只有点击红框的地方才有按键反应

羊羊羊游戏机

赞同来自:

把canvas设置为满屏就能点击到按钮了,谜一般的问题,继续求解

wu语

赞同来自:

我的开放域都接收不到鼠标事件,按钮只能做在主域。。。。
各种sb

谢春

赞同来自:

绘制开放域需要在主域中设置画板大小,开放域中能少绘制就少绘制,
/**
* 绘制开放域数据
* @param {*} layout 用来显示开放域数据的Sprite
*/
function drawOpenData(layout: Laya.Sprite) {
var openDataContext = wx.getOpenDataContext()
var sharedCanvas = openDataContext.canvas
sharedCanvas.width = layout.width;
sharedCanvas.height = layout.height;
//先清空绘制
layout.graphics.clear(false);
//设置大小
var canvas = new Laya.Texture(sharedCanvas);
canvas.bitmap.alwaysChange = true;//小游戏使用,非常费,每帧刷新
layout.graphics.drawTexture(canvas);
}

Laya_XS

赞同来自:

开放域的位置偏移,是因为你主域绘制的区域跟开放数据域绘制的位置不对称,比如开放数据域绘制在0,0点,那在主域里绘制开放数据域的起始位置也应该是0,0点。他们只有对称了,鼠标点击才能一样对应。

wu语

赞同来自:

http://h10game.com/这里有答案

要回复问题请先

商务合作
商务合作