Cocos2d-x的坐标系

从零开始:如何用STM32和MAX30100打造你的第一台智能心率监测设备 本文详细介绍了如何使用STM32微控制器和MAX30100传感器从零开始构建智能心率监测设备。涵盖硬件选择、电路设计、软件开发到心率算法实现的全过程,特别适合嵌入式开发新手和创客。通过OLED显示和蓝牙串口传输数据,打造低成本、高精度的心率检测仪,为健康监测项目提供实用解决方案。 阅读详情

UI坐标与OpenGL坐标

UI坐标
这里写图片描述

OpenGL坐标
这里写图片描述

OpenGL坐标转化UI坐标就是屏幕的高度减去OpenGL的y轴方向坐标,就是UI坐标下的y轴方向坐标,与之对应UI坐标转OpenGL坐标是高度减UI坐标。

从UI坐标到OpenGL坐标的转换:

Vec2 touchLocation=touch->getLocationView();
Vec2 touchLocation=Director::getInstance()->convertToGL(touchLocation);

OpenGL坐标

OpenGL坐标可以分为:世界坐标和模型坐标,所以Cocos2d-x的坐标也有世界坐标和模型坐标。

世界坐标,地球作为参考物。
向南走一公里,再向东走500米。

模型坐标(本地坐标),参照物是本身。
向右走一公里,再向左走500米。

实例:
这里写图片描述

如果采用A的模型坐标来描述B的位置,则B的坐标是(1,-1)。

世界坐标和模型坐标

世界坐标和模型坐标可以相互转换。我们通过Node对象如下函数实现:

  • Vec2 convertToNodeSpace(const Vec2&worldPoint)。将世界坐标转换为模型坐标。
  • Vec2 convertToNodeSpaceAR(const Vec2&worldPoint)。将世界坐标转换为模型坐标。AR表示相对于锚点。
  • Vec2 convertTouchToNodeSpace(Touch* touch)。将世界坐标中触摸点转换为模型坐标。
  • Vec2 convertTouchToNodeSpaceAR(Touch* touch)。将世界坐标中触摸点转换为模型坐标。AR表示相对于锚点。
  • Vec2 convertToWorldSpace(const Vec2& nodePoint)。将模型坐标中触摸点转换为世界坐标。
  • Vec2 convertToWorldSpaceAR(const Vec2& nodePoint)。将模型坐标中触摸点点转换为世界坐标。AR表示相对于锚点。

世界坐标转换为模型坐标

实例:
这里写图片描述

Node1和Node2大小是300x100像素。

Node2的世界坐标转换为相对于Node1的模型坐标。

Vec2 point1=node1->convertToNodeSpace(node2->getPosition());

不带AR表示相对于原点坐标,A是Node1的原点。
A(100,400)
C(200,300)
point1(100,-100)

Vec2 point2=node1->convertToNodeSpaceAR(node2->getPosition());

带AR表示相对于锚点坐标,B是Node1的锚点。
B(400,500)
C(200,300)
point2(-200,-200)

模型坐标转世界坐标

实例:
这里写图片描述

Node1的坐标是(400,500),大小是300x100像素,Node2是放置在Node1中的,它对于Node1的模型坐标是(0,0),大小的150x50像素。

把Node2相对于Node1的模型坐标转换成世界坐标。

Vec2 point1=node1->convertToWorldSpace(node2->getPosition());
node2->getPosition()得到的坐标(0,0)是Node2相对于Node1原点A点的坐标。与A点重合,把它转换成世界坐标,即为A点坐标。
point1(250,450)

Vec2 point2=node1->convertToWorldSpaceAR(node2->getPosition());
node2->getPosition()得到的坐标是Node2相对于Node1锚点的坐标。
point2(400,500)

Mac新手必看:为什么你的终端找不到Python命令?5分钟搞定zsh报错 本文针对Mac用户在终端遇到“zsh: command not found: python”报错的问题,提供了深度解析与实战修复指南。文章解释了macOS系统因历史原因默认使用`python3`而非`python`命令,并详细介绍了四种解决方案:养成使用`python3`的习惯、创建别名、通过Homebrew安装链接以及修改PATH环境变量,帮助新手快速解决zsh报错,顺利开始Python开发。 阅读详情

相关推荐

Conda安装cuda指定版本遇到的一个大坑,导致pytorch无法使用cuda且nvcc -V显示错误的cuda版本

24年3月份的时候用conda install nvidia/label/cuda-11.x.x::cuda还挺正常的,能直接安装11.x.x版本的cuda,我还安利给同学用。但现在5月份不知道为什么这些命令都只会安装最新的cuda12.4,不知道是我哪里设置有问题还是官网的安装目录里的环境配置换了?我在三台不同的服务器上都尝试了安装不同版本的cuda,但最后安装下来的都是12.4版本。

weixin_43933424的博客 8892

Cocos2d-x 详解坐标系统

这篇博文将介绍一下在cocos2dx中的一些坐标系统概念: 一、      (1)OpenGL坐标系 Cocos2D-x以OpenGL和OpenGL ES为基础,所以自然支持OpenGL坐标系。该坐标系原点在屏幕左下角,x轴向右,y轴向上。 (2)屏幕坐标系 屏幕坐标系使用的是不同的坐标系统,原点在屏幕左上角,x轴向右,y轴向下。iOS的屏幕触摸事件CCTouch传入的位置信

小邓笔记 1万+

自动驾驶关键技术(一):时间敏感网络TSN

时间敏感网络TSN的基本概念、协议族介绍和开发流程。

3079

理解Cocos2d-x坐标系统

坐标系Coordinator 这个概念非常普遍,而且非常的常用,使用过二维绘图、三维绘图的应该都不陌生。 笛卡尔坐标系:这个接触过OpenGL的都不陌生,以左下角为原点,x向右,y向上,z向外,符合右手定则。Cocos2d使用的就是此坐标系,原点为左下角,x向右,y向上。 屏幕坐标系:与笛卡尔坐标系不同,以左上角为原点,x向右,y向下,这个是常用的开发中的坐标系。 世界坐标系和本地

千里之行始于足下 1116

GEO数据挖掘实战:用R语言从GSE42872数据集中找到关键差异基因(附完整代码)

本文详细介绍了使用R语言从GSE42872数据集中挖掘关键差异基因的完整流程,包括数据下载、探针ID转换、差异表达分析和功能富集分析。通过实战代码演示,帮助生信研究者掌握GEO数据挖掘的核心技术,快速识别疾病相关基因并理解其生物学功能。

weixin_42625070的博客 365

Codex入门10-Goal自主任务(进阶必学:设定目标就不管了,AI自己干活到完成)

/goal 是Codex CLI最强大的进阶功能——设定一个目标,AI就会制定计划、分步执行、自我测试、持续迭代,即使你关掉终端也会继续。本文详解/goal的工作原理、配置启用方法、常用命令(pause/resume/status/clear),以及如何写出高质量的目标描述让AI高效自主完成任务。

yueyeguzhuo的专栏 454

cocos2d-x 坐标辨析

cocos2d-x 坐标辨析 阅读了cocos2d的几个方法 CCPoint convertToNodeSpace(const CCPoint& worldPoint) CCPoint convertToWorldSpace(const CCPoint& nodePoint) CCPoint convertToNodeSpaceAR(const CCP...

huangbx_tx的博客 225

uni-app - 修改默认端口,H5 项目控制台运行出来的 IP 地址的默认端口号(H5 项目运行后控制台,修改项目运行到内置浏览器默认 8080 端口号)

uni-app运行到H5修改默认端口号,uni-app如何修改默认端口,uni-app修改默认端口,uni-app本地运行修改调试已上线微信H5项目,请问在UNIAPP的H5运行调试时候的IP是否可以自己设置固定,uni-app开发环境,如何设置h5服务器的端口,uni-app如何修改默认端,uni-app修改默认端口,uni-app指定端口号,uni-app-修改H5项目控制台运行出来的IP地址的默认端口号(H5项目运行后控制台,修改项目运行到内置浏览器默认8080端口号)

🏆 前端领域优质创作者 9885

cocos2d-x加载精灵,设置坐标的方法

在cocos2d中,如何加载一个图片呢,其实就是加载一个精灵,在创建精灵的时候将这个图片的纹理给这个精灵。 首先我们新建一个cocos2d的新项目cocos new test -l cpp 然后在HelloWorldScene这个类中写我们想要添加的内容 在HelloWorldScene这个类的init函数中       auto sprite = Sprite::create("2.p

青春蓦殇的博客 3350

基于FreeRedis实现的.NET Redis客户端缓存缓存键条件优雅过滤

在.NET开发中,使用Redis作为缓存解决方案是很常见的。FreeRedis是一个功能强大的Redis客户端库,它提供了丰富的功能和灵活性,使我们能够轻松地与Redis进行交互。在本文中,我们将探讨如何使用FreeRedis实现缓存键条件的优雅过滤,以提高缓存的效率和准确性。

RzuScala的博客 328

基于Flink的流式数据降维实现方案

理解为何实时场景需要降维(解决维度灾难)掌握Flink流处理与降维算法的结合方式学会用Flink实现一个可落地的流式降维系统覆盖内容包括:Flink流处理基础、降维算法选择(侧重在线算法)、Flink与降维的集成方案、实战代码示例,以及工业级场景的应用经验。本文从“为什么需要流式降维”出发,用“快递分拣”的生活案例引出核心概念;接着拆解Flink流处理、数据降维的底层逻辑;然后重点讲解“在线PCA”这一适合流式场景的降维算法,并用Flink实现一个完整的流式降维管道;

AI 领航者的博客 566

Cocos2d-x 用户事件处理机制

在移动平台中设备与用户的交互必须通过事件处理完成。用户输入被封装为事件,Cocos2d-x游戏引擎能够接收并处理这些事件,包括触摸事件、键盘事件、鼠标事件、加速度事件和自定义事件等。这里需要注意,不同平台之间事件略有差异,这与硬件有关,如在iOS 平台就无法接收键盘事件,在PC和Mac OS X平台无法接收触摸事件和加速度事件。Cocos2d-x 用户事件处理机制 一般来说,事件处理机制都有三个

不很正派的专栏 8119

SAP ABAP OData 的四种开发方式

摘要:SAP开发中CDS视图转OData服务的四种方案演进:1)7.40+版本需手动映射数据源;2)7.50+可直接引用CDS视图自动生成服务;3)7.50+通过@OData.publish注解声明式发布;4)7.54+采用服务定义与绑定实现协议解耦。新版本推荐使用最新方案,旧系统可选传统方式,整体呈现开发简化、架构解耦的技术演进趋势。(150字)

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 861

cocos2d-x坐标系详解

不同坐标系简介 笛卡尔坐标系 你可能上学的时候就已经知道“笛卡尔坐标系”了,它在几何课本里经常用到。如果你已经忘得差不多了,下面这些图片可以很快唤起你的记忆: 在移动游戏开发过程中,有三种类型的坐标系你可能遇到: UI坐标系 iOS/Android/Windows SDK中的通用UI坐标系: 起点坐标(x=0, y=0)位于左上角 X轴从屏幕最左边开始,由左向右渐增 Y...

YUZHIBOYI的专栏 1148

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

cocos2d-x坐标系和锚点整理

原文链接:http://blog.youkuaiyun.com/wen294299195/article/details/7867595 在cocos2d-x中一共有四种坐标: (1)屏幕坐标系         在windows系统中,默认的原点在屏幕的左上角,X轴向右,Y轴向下。        (2)GL坐标系         原点在左下角,X轴向右,Y轴向上。由于coc

千里之行 积于跬步 5203

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Cocos2d-x 3.x 之 坐标系

Cocos2d-x 3.x 之 坐标系

继续激情,继续奋斗。 1975

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Cocos2d-x坐标系理解

Cocos2d-x坐标系初解: 首先我们先了解一下Cocos2d-x世界中的几种坐标类型:               屏幕坐标系:原点在左上角,X轴向右,Y轴向下。               GL坐标系:原点在左下角,X轴向右,Y轴向上。               世界坐标系:指相对于整个屏幕的坐标系,480*320为例,(0,0)就是屏幕的左下角,(320,480)就是屏幕

YearnedSun的博客 719

【玩转cocos2d-x之十】cocos2d-x坐标系

cocos2d-x采用的是笛卡尔平面坐标系,也就是平面上两条垂直线构成的坐标系,平面上任意一点都可以用(x,y)来表示。 (1)就坐标系方向而言,cocos2d-x分为屏幕坐标系和OpenGL坐标系。 (2)就节点本身而言,cocos2d-x分为绝对坐标系和相对坐标系。 1.屏幕坐标系 屏幕坐标系,也叫UIKit坐标系,原点在屏幕左上,x轴向右,y轴向下。cocos

偶尔e网事 1万+

cocos2d-x之详解坐标系

作者: xntop 分类: Cocos2d, 代码人生 发布时间: 2013-01-12 13:47 ė172 浏览数 6没有评论 在几何体系中通常使用“笛卡尔”坐标系来描述坐标,就像下图展示的那样,通过左手或是右手来描述坐标系。 但是在手机游戏开发中,界面UI坐标系有以下三种类型: UI坐标系:在iOS/Android/Windows SDK这些系统平台场,通常

he_wen_jian的专栏 1119

cocos2d-x坐标系介绍

Cocos2d-x坐标系和OpenGL坐标系相同,都是起源于笛卡尔坐标系。 笛卡尔坐标系 笛卡尔坐标系中定义右手系原点在左下角,x向右,y向上,z向外,OpenGL坐标系为笛卡尔右手系。 屏幕坐标系和Cocos2d坐标系 标准屏幕坐标系使用和OpenGL不同的坐标系,而Cocos2d则使用和OpenGL相同的坐标系。 iOS, Android, Windows

小麦先生 795

Cocos2d-x坐标系

疯狂的面包 684

COCOS2D-X坐标系

1. OpenGL 坐标系:Cocos2D-x 以OpenGL 和OpenGL ES 为基础,所以自然支持OpenGL 坐标系。该坐标系 原点在屏幕左下角,x 轴向右,y 轴向上。 屏幕坐标系使用的是不同的坐标系统,原点在屏幕左上角,x 轴向右,y 轴向下。iOS 的 屏幕触摸事件CCTouch 传入的位置信息使用的是该坐标系。因此在Cocos2D-x 中对触摸事 件做出响应前,需要首先把

晓峰的专栏 581

【爱上cocos2d-x之九】cocos2d-x坐标系与anchorPoint锚点

1. cocos2d-x坐标系 UI坐标系 iOS / Android / Windows SDK中的通用UI坐标系: 起点坐标(x=0,y=0)位于左上角,X轴坐标从左向右增加,Y轴坐标由上向下增加。 OpenGL和Cocos2d坐标系 Cocos2d-x/-html5/-iphone使用的坐标系和OpenGL的坐标系一样。 起点坐标(x=0,y=0)位于左下角,X轴坐标从左

三十画生 一个北漂的人 2862

Cocos2d-x 3.0坐标系详解

1

妙心的专栏 1244

Cocos2d-x学习笔记(三)—— 坐标系

屏幕坐标系: 与我们开发手机是一样,手机屏幕左上角为坐标系原点,横向右为正x轴,纵向下为正y轴。 OpenGL坐标系: 又是cocos2d坐标系,手机屏幕左下角为坐标系原点,横向右为正x轴,纵向上为正y轴。 世界坐标系: 又称绝对坐标系,这里是指游戏世界在屏幕上所显示的坐标系,一般与openGL一样。 本地坐标系: 又称相对坐标系,这里是相对于游戏元素中node(节点)的坐标

u013707014的博客 624

Cocos2d-x坐标系介绍

在图形图像和游戏应用开发中坐标系是非常重要的,我们在Android和iOS等平台应用开发的时候使用的二维坐标系它的原点是在左上角的。而在Cocos2d-x坐标系中它原点是在左下角的,而且Cocos2d-x坐标系又可以分为:世界坐标和模型坐标。 UI坐标 UI坐标就是Android和iOS等...

chenyuwa2419的博客 109
上一篇: Light OJ1422 Halloween Costumes
下一篇: 蓝桥杯 地宫取宝
_IanXiao
博客等级 码龄12年 84粉丝 241原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值