4

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

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

4

2 回答 2

1

使用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而是全局的。

于 2012-06-18T11:27:48.537 回答
0

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

于 2012-06-18T08:21:09.877 回答