基于节点的类的子位置

Children position of ofNode based class?

本文关键字:位置 节点 于节点      更新时间:2023-10-16

我正在创建对象,ofNode的实例,让我们称它们为卡片。每张卡片都有自己的属性,如按钮、文本和图像,这些属性在卡片.draw()功能中绘制。

如果我更改卡片位置,"子"对象不会移动。有没有办法将他们的位置绑定到他们的卡片对象?

使用 setParent 方法:

ofNode parent;
ofNode child;
child.setParent(parent);
parent.setGlobalPosition(10, 20, 30);
child.setPosition(100, 200, 300);
ofVec3f pos = child.getGlobalPosition(); // pos == (110, 220, 330)

请注意,setPosition 是本地的,与其父位置相关,而setGlobalPosition是全局的。

我假设你的意思是以图形方式移动。这非常依赖于实现。我不知道开放框架,但以Qt为例,您将把所有图形元素组合为主要结构卡的子元素。例如,让卡继承自某个超级对象(一个框架或类似对象),并将所有子对象都包含在卡中。在Qt中,这是通过父子关系完成的。