失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Cocos Creator 世界坐标转屏幕坐标

Cocos Creator 世界坐标转屏幕坐标

时间:2024-07-20 15:34:09

相关推荐

Cocos Creator 世界坐标转屏幕坐标

Cocos creator某一坐标转屏幕坐标(screen position),以前都是屏幕坐标转世界坐标。

先上代码为敬(只是提供一种思路,有更好的实现和建议欢迎留言)

//Scene的设计分辨率是640*1136,适配方案是Fit width,所以下面的缩放按sW来计算的。//其他情况没有测试,情况应该差不多。先讲明适用条件,其他条件测试成功的欢迎留言。let size = this.panel.node.getContentSize();//panel的坐标转为屏幕坐标let width = size.width;let height = size.height;//屏幕分辨率let canvasSize = cc.view.getCanvasSize();//scene的设计分辨率let desiginSize = cc.view.getDesignResolutionSize();//Fit width适配方案,以width作为缩放基准let sW = (canvasSize.width / desiginSize.width);//计算panel在屏幕中的尺寸width = sW * width;height = sW * height;//转为世界坐标 let worldPos = Wb.Pos.localConvertWorldPointAR(this.panel.node);let outPos = cc.v2();//设置scene的camerathis.camera.getWorldToScreenPoint(worldPos, outPos);//x,y即屏幕坐标,creator的坐标原点在坐下,Android的在左上,需要做个转换。//x轴不变,y轴画布高减去y对应比例的值即为屏幕y坐标。(宽高都以sW为比例计算)let x = (outPos.x * sW) - (width / 2);let y = canvasSize.height - (outPos.y * sW) - (height / 2);

以上是获取屏幕坐标的代码,代码简陋只提供一种思路,不同机型测试显示的内容都会正确覆盖在panel上。

如果觉得《Cocos Creator 世界坐标转屏幕坐标》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。