测试cocoscreate的包围盒及点击事件坐标
cocoscreator的包围盒及点击事件坐标
·
黄框的区域是可点击区域,大的背景图是canvas的区域,现在屏幕比canvas宽,所以两边有黑边,
蓝色的框中为点击的点。
在这里插入图片描述
以下是获取包围盒及坐标代码:
//获取可点击区域世界包围盒
let worldBox = bg.getComponent(UITransform).getBoundingBoxToWorld();
//获取可点击区域本地包围盒
let localBox = bg.getComponent(UITransform).getBoundingBox();
//可点击区域世界坐标
let pointWorld = event.getLocation();
//可点击区域ui坐标
let pointCanvas = event.getUILocation();
console.log("----------- worldBox:" + worldBox);
console.log("----------- localBox:" + localBox);
console.log("----------- pointWorld:" + pointWorld);
console.log("----------- pointCanvas:" + pointCanvas);
console.log("----------- worldBox->worldPoint:" + worldBox.contains(pointWorld));
console.log("----------- worldBox->pointCanvas:" + worldBox.contains(pointCanvas));
console.log("----------- localBox->pointCanvas:" + localBox.contains(pointCanvas));
console.log("----------- localBox->worldPoint:" + localBox.contains(pointWorld));
结果 :
世界坐标是以屏幕左下角为(0,0)点,获得的是屏幕的实际像素坐标,
ui坐标是以canvas的左下角为(0,0)点,获得是相对于canvas的最终坐标,
世界包围盒其实也是以canvas的左下角为(0,0)点,而不是以屏幕左下角为0点(这个真是这样?但数据就是这么说的!!!)
本地包围盒是以父节点为坐标系下的区域数据。
这里是一个专注于游戏开发的社区,我们致力于为广大游戏爱好者提供一个良好的学习和交流平台。我们的专区包含了各大流行引擎的技术博文,涵盖了从入门到进阶的各个阶段,无论你是初学者还是资深开发者,都能在这里找到适合自己的内容。除此之外,我们还会不定期举办游戏开发相关的活动,让大家更好地交流互动。加入我们,一起探索游戏开发的奥秘吧!
更多推荐
已为社区贡献1条内容
所有评论(0)