我正在创建对象、实例ofNode
,我们称它们为卡片。每张卡片都有自己的属性,例如按钮、文本和图像,这些属性是在卡片.draw()
函数中绘制的。
如果我更改卡片位置,“儿童”对象不会移动。有没有办法将他们的位置绑定到他们的卡片对象上?
我正在创建对象、实例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 中,这是由父子关系完成的。