コード例 #1
0
ファイル: OptionsMenu.cpp プロジェクト: CreeperGo/NEWorld
    void onUpdate() {
        FOVyNormal = (float)(FOVyBar.barpos + 1);
        mousemove = (mmsBar.barpos / 2 + 1) / 40.0f;
        viewdistance = (viewdistBar.barpos + 1) / 4 + 2;
        if (rdstbtn.clicked) Renderoptions();
        if (gistbtn.clicked) GUIoptions();
        if (backbtn.clicked) GUI::PopPage();
        if (savebtn.clicked) saveOptions();
        if (langbtn.clicked) {
            languagemenu();
            title.text = GetStrbyKey("NEWorld.options.caption");
            rdstbtn.text = GetStrbyKey("NEWorld.options.rendermenu");
            gistbtn.text = GetStrbyKey("NEWorld.options.guimenu");
            langbtn.text = GetStrbyKey("NEWorld.options.languagemenu");
            backbtn.text = GetStrbyKey("NEWorld.options.back");
            savebtn.text = GetStrbyKey("NEWorld.options.save");
        }
        if (sounbtn.clicked)Soundmenu();

        AudioSystem::SpeedOfSound = AudioSystem::Air_SpeedOfSound;
        EFX::EAXprop = Generic;
        EFX::UpdateEAXprop();
        float Pos[] = { 0.0f,0.0f,0.0f };
        AudioSystem::Update(Pos, false, false, Pos, false, false);
        FOVyBar.text = strWithVar(GetStrbyKey("NEWorld.options.fov"), FOVyNormal);
        mmsBar.text = strWithVar(GetStrbyKey("NEWorld.options.sensitivity"), mousemove);
        viewdistBar.text = strWithVar(GetStrbyKey("NEWorld.options.distance"), viewdistance);
    }
コード例 #2
0
ファイル: Menus.cpp プロジェクト: haozi23333/NEWorld
void options(){
	//设置菜单
	gui::Form MainForm;
	int leftp = windowwidth / 2 - 250;
	int rightp = windowwidth / 2 + 250;
	int midp = windowwidth / 2;
	int upp = 60;
	int downp = windowheight - 20;
	int lspc = 36;
	bool f = false;
	MainForm.Init();
	TextRenderer::setFontColor(1.0, 1.0, 1.0, 1.0);
	gui::label*		title = MainForm.createlabel("=================<  选 项  >=================");
	gui::trackbar*  FOVyBar = MainForm.createtrackbar(strWithVar("视野角度:", FOVyNormal), 120, (int)(FOVyNormal - 1));
	gui::trackbar*  mmsBar = MainForm.createtrackbar(strWithVar("鼠标灵敏度:", mousemove), 120, (int)(mousemove * 40 * 2 - 1));
	gui::trackbar*  viewdistBar = MainForm.createtrackbar(strWithVar("渲染距离:", viewdistance), 120, (viewdistance - 1) * 8 - 1);
	//gui::button*	ciArrayBtn = MainForm.createbutton("使用区块索引数组:" + boolstr(UseCIArray))
	gui::button*	rdstbtn = MainForm.createbutton(">> 渲染选项...");
	gui::button*	gistbtn = MainForm.createbutton(">> 图形界面选项...");
	gui::button*	backbtn = MainForm.createbutton("<< 返回主菜单");
	//gui::button*	savebtn = MainForm.createbutton("保存设置")
	//ciArrayBtn->enabled = false
	//savebtn->enabled = false
	do{
		leftp = windowwidth / 2 - 250;
		rightp = windowwidth / 2 + 250;
		midp = windowwidth / 2;
		downp = windowheight - 20;
		title->resize(midp - 225, midp + 225, 20, 36);
		FOVyBar->resize(leftp, midp - 10, upp + lspc * 0, upp + lspc * 0 + 24);
		mmsBar->resize(midp + 10, rightp, upp + lspc * 0, upp + lspc * 0 + 24);
		viewdistBar->resize(leftp, midp - 10, upp + lspc * 1, upp + lspc * 1 + 24);
		//ciArrayBtn->resize(midp + 10, rightp, upp + lspc * 1, upp + lspc * 1 + 24)
		rdstbtn->resize(leftp, midp - 10, upp + lspc * 4, upp + lspc * 4 + 24);
		gistbtn->resize(midp + 10, rightp, upp + lspc * 4, upp + lspc * 4 + 24);
		backbtn->resize(leftp, midp - 10, downp - 24, downp);
		//savebtn->resize(midp + 10, rightp, downp - 24, downp)
		mb = glfwGetMouseButton(MainWindow, GLFW_MOUSE_BUTTON_LEFT) == GLFW_PRESS ? 1 : 0;
		//更新GUI
		glfwGetCursorPos(MainWindow, &mx, &my);
		MainForm.mousedata((int)mx, (int)my, mw, mb);
		MainForm.update();
		FOVyNormal = static_cast<float>(FOVyBar->barpos + 1);
		mousemove = (mmsBar->barpos / 2 + 1) / 40.0f;
		viewdistance = viewdistBar->barpos / 8 + 2;
		FOVyBar->text = strWithVar("视野角度:", FOVyNormal);
		mmsBar->text = strWithVar("鼠标灵敏度:", mousemove);
		viewdistBar->text = strWithVar("渲染距离:", viewdistance);
		//ciArrayBtn->text = strWithVar("使用区块索引数组, ", boolstr(UseCIArray))
		//if (ciArrayBtn->clicked) UseCIArray = !UseCIArray
		if (rdstbtn->clicked) Renderoptions();
		if (gistbtn->clicked) GUIoptions();
		if (backbtn->clicked) f = true;
		MainForm.render();
		glfwSwapBuffers(MainWindow);
		glfwPollEvents();
		if (glfwWindowShouldClose(MainWindow)) exit(0);
	} while (!f);
	MainForm.cleanup();
}