01-08-2010, 06:14 PM
(Questo messaggio è stato modificato l'ultima volta il: 01-08-2010, 07:56 PM da steve.)
vuoi che l'interfaccia sia fatta bene o va bene anche una cosa spartana?
te lo posso fare facilmente sia con irrlicht che con Qt (entrambi con c++).
Qt è fatto apposta per le gui (gli ho dato solo un occhiata, non lo so usare per cose serie). Irrlicht non è ideato per queste cose, però si possono fare comunque...
esempio fatto con irrlicht in cinque minuti
[spoiler="sorgente"]
[/spoiler]
te lo posso fare facilmente sia con irrlicht che con Qt (entrambi con c++).
Qt è fatto apposta per le gui (gli ho dato solo un occhiata, non lo so usare per cose serie). Irrlicht non è ideato per queste cose, però si possono fare comunque...
esempio fatto con irrlicht in cinque minuti
[spoiler="sorgente"]
Codice:
#include <irrlicht.h>
#include <string>
#include <fstream>
#pragma comment(lib, "Irrlicht.lib")
#pragma comment(linker, "/subsystem:windows /ENTRY:mainCRTStartup")
using namespace irr;
using namespace core;
using namespace video;
using namespace gui;
void modificaFile(std::string testo, std::string nomeFile);
int main()
{
IrrlichtDevice* device = createDevice(EDT_DIRECT3D9, dimension2d<u32>(200,280), 16U, false, false, false, 0);
device->setWindowCaption(L"Modifica file");
IVideoDriver* driver = device->getVideoDriver();
IGUIEnvironment* gui_environment = device->getGUIEnvironment();
IGUIButton* bottone1 = gui_environment->addButton(rect<s32>(10,10,190,90), 0, 101, L"A - Cane", NULL);
IGUIButton* bottone2 = gui_environment->addButton(rect<s32>(10,100,190,180), 0, 101, L"B - Pesciolino", NULL);
IGUIButton* bottone3 = gui_environment->addButton(rect<s32>(10,190,190,270), 0, 101, L"C - Rompipalle", NULL);
while(device->run())
{
driver->beginScene(true,true,SColor(0,0,0,500));
gui_environment->drawAll();
if(bottone1->isPressed()) modificaFile("io sono un cane bastardo", "esempio.txt"); // modifica testo e file
if(bottone2->isPressed()) modificaFile("io sono un pesciolino bastardo", "esempio.txt"); // modifica testo e file
if(bottone3->isPressed()) modificaFile("io sono un rompipalle bastardo", "esempio.txt"); // modifica testo e file
driver->endScene();
}
device->drop();
return(0);
}
void modificaFile(std::string testo, std::string nomeFile)
{
std::ofstream file(nomeFile);
file << testo;
}