Cocos Creator 世界坐标转屏幕坐标

这篇具有很好参考价值的文章主要介绍了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的camera
    this.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上。文章来源地址https://www.toymoban.com/news/detail-627566.html

到了这里,关于Cocos Creator 世界坐标转屏幕坐标的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • cocos creator踩坑记录

    cocos creator踩坑记录 removeFromParent 和removeAllChildren cocos2dx直接从父节点移除并回收内存 creator 则只是从父节点移除,回收内存则需要使用destory,creator 使用destroy并不会立即在父节点中移除该节点,会延后执行。 官方文档地址 模拟器 Android APP点击EditBox报错 Function: JSB_showInputBo

    2024年02月15日
    浏览(32)
  • Cocos Creator 使用protobufjs

    在使用cocos creator开发微信小程序的时候,服务器是使用的skynet,服务器与前端的通讯想使用protobuf,网上有文档,但不多,经过一天的奋斗,终于是让cocos creator能够使用protobuf 官网文档参考: https://www.npmjs.com/package/protobufjs https://docs.cocos.com/creator/3.5/manual/zh/scripting/modules/example.html p

    2024年02月05日
    浏览(39)
  • FariyGUI × Cocos Creator 入门

    程序员向的初探Cocos Creator结和FairyGUI的使用,会比较偏向FairyGUI一点,默认各位读者都熟练掌握Cocos Creator以及js/ts脚本编写。 初探门径,欢迎大佬指教,欢迎在评论区或私信与本人交流,谢谢! 都不需要科学上网,非常友好。 下载fgui:https://www.fairygui.com/ 下载Cocos Creator并安

    2024年02月22日
    浏览(30)
  • cocos creator 节点的镜像反转

    自己在做横版小游戏的时候,想左右运动时精灵图直接旋转,但是一直搞不懂那个旋转,后面才发现2d情况下,旋转时没有z轴,就只能是原地转圈上下颠倒,而想要镜像反转的话就需要开启3d模式了 如果是在编辑器上的话直接点击左上角最右边的3D按钮就行了 如果是想在代码

    2024年02月12日
    浏览(49)
  • cocos creator 学习第一篇

    unity 编程语言主要为c# 早期cocos2d 等用c++ 或者lua cocos creator 编程语言主要为js 所以cocos 适合h5 小游戏,而且跨平台性更好,unity性能可能更好 cocos creator简介 cocos2d-python cocos 1.x 2d cocos 2.x 也是2d 为了不影响2d版本,单独出了3d版本,只有一个版本 cocos 3.x 在cocos 3d基础上 又将2d加

    2024年02月04日
    浏览(30)
  • 详解 Cocos Creator 如何使用websocket

    我在看B站cocos教程Cocos Creator零基础小白超神教程P69集遇到socketio无法正常使用的问题。经过百度,才了解到现在cocos creator实现客户端和服务器之间的双向通信是通过WebSocket 协议。WebSocket 是一种非常常用的网络通信协议,本文将详细讲解 Cocos Creator 如何使用 WebSocket,包括 W

    2024年02月07日
    浏览(35)
  • Cocos Creator 中的assembler那点事

    一:Assembler的来龙去脉 二:自定义一个渲染组件(使用自定义的assembler挂载) 之前的文章中提到和使用过assembler相关的技术,但是现在看来还是理解的不是很到位, 1: 首先看看那assembler是如何绑定到渲染组件的,随便找到一个渲染组件,比如说老生常谈的Sprite组件   cocos2d

    2024年02月08日
    浏览(44)
  • Cocos Creator的Hello World

    Cocos官网文档 访问cocos官网下载 Cocos Dashboard 安装时选项 安装 Visual Studio 2017 可以不勾选 注意: Cocos Dashboard 的快捷方式文件名为 CocosDashboard.exe ,不要误认为是安装文件 注册/登录cocos网址 Cocos Dashboard ,点击右上角点击齿轮图标 打开设置界面 Language(Choose a display anguage.) ,修

    2024年02月15日
    浏览(26)
  • cocos creator 构建发布[生成]报错,解决问题

           1.当出现问题时,查看日志浏览具体错误信息,如下:        2. JAVA_HOME is not set and no ‘java‘ command could be found in your PATH               java_home提示没有在win中配置,当配置完成后,java -version得出信息后,需要重启电脑。(cocos creator 本人配置好java_home后,

    2024年02月12日
    浏览(31)
  • Cocos Creator实现不规则区域点击

    在CocosCreator中,点击图片透明区域依然触发节点的点击事件。但在web开发中,可以使用Inkscape、SvgPathEditor等矢量图编辑器转为SVG,或者直接从figma中导出SVG,然后监听不规则图形事件。 以地图边界高亮为例:html 类似地图的不规则图形事件处理 但Cocos Creator中Sprite目前支持的格

    2024年02月06日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包