Hallo nochmal!
Zitat:
IGUIEnvironment::getElementById( ELEMENTID, true)
Wo hast du denn diese Funktion her? Bei mir existiert so etwas nicht??
Wie übergebe ich nun einen Zeiger auf IGUIElement, wenn dieses zB. ein IGUIButton ist?
Würde das hier funktionieren?
Code:
void registerElement(bool usage, IGUIElement *element)
{
struct_elements obj;
obj.usage = usage;
obj.visible = false;
obj.element = element;
elements.push_back(obj);
}
void createImage(s32 id, rect<s32> rect, ITexture *texture)
{
IGUIElement *element = 0;
IGUIImage *image = gui->addImage(rect, 0, id, L"");
image->setImage(texture);
image->setScaleImage(true);
image->setVisible(false);
element = image->getElementFromId(id);
registerElement(MENU, element);
}
// ...
for(s32 i = 0; i < elements.size(); i++)
{
elements[i].element->setVisible(true);
}
// Pang(!), hier kracht es. Ich gehe mal davon aus, es wurde ein Zeiger auf Null übergeben. Der Fehler liegt wohl oben im element = ...
Also irgendwie geht es nicht. Wo liegt der Fehler?
EDIT: Habs doch gelöst bekommen!
Code:
void createImage(s32 id, rect<s32> rect, ITexture *texture)
{
IGUIImage *image = gui->addImage(rect, 0, id, L"");
image->setImage(texture);
image->setScaleImage(true);
image->setVisible(false);
registerElement(MENU, image);
}