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