基于节点的类的儿童位置?

时间:2012-06-18 01:23:39

标签: c++ openframeworks

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

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

2 个答案:

答案 0 :(得分: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是全局的。

答案 1 :(得分:0)

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