⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 input.cpp

📁 3D赛车游戏源代码-用Visual Studio 2005
💻 CPP
字号:
#include "StdAfx.h"
#include "Input.h"
#include "../common/IniFile.h"


void CInput::GetKey(WORD &input)
{
	input = 0;

	if (GetAsyncKeyState(m_wKeyCodes[KEY_INDEX_UP]) & 0x8000)
	{
		input |= KEY_UP;
	}

	if (GetAsyncKeyState(m_wKeyCodes[KEY_INDEX_DOWN]) & 0x8000)
	{
		input |= KEY_DOWN;
	}

	if (GetAsyncKeyState(m_wKeyCodes[KEY_INDEX_LEFT]) & 0x8000)
	{
		input |= KEY_LEFT;
	}

	if (GetAsyncKeyState(m_wKeyCodes[KEY_INDEX_RIGHT]) & 0x8000)
	{
		input |= KEY_RIGHT;
	}
}

void CInput::LoadDefaultKeyCode()
{
	m_wKeyCodes[KEY_INDEX_UP]    = VK_UP;
	m_wKeyCodes[KEY_INDEX_DOWN]  = VK_DOWN;
	m_wKeyCodes[KEY_INDEX_LEFT]  = VK_LEFT;
	m_wKeyCodes[KEY_INDEX_RIGHT] = VK_RIGHT;
}

void CInput::LoadUserKeyCode(const char *filename)
{
	CIniFile file;

	if (file.Open(filename))
	{
		const char *val;
		val = file.ReadString("Keys", "Up", "37");
		m_wKeyCodes[KEY_INDEX_UP]    = atoi(val);
		val = file.ReadString("Keys", "Down", "38");
		m_wKeyCodes[KEY_INDEX_DOWN]    = atoi(val);
		val = file.ReadString("Keys", "Left", "39");
		m_wKeyCodes[KEY_INDEX_LEFT]    = atoi(val);
		val = file.ReadString("Keys", "Right", "40");
		m_wKeyCodes[KEY_INDEX_RIGHT]    = atoi(val);
	}
	else
	{
		LoadDefaultKeyCode();
	}

}

void CInput::SaveKeyCode(const char *filename)
{
	CIniFile file;

	if (file.Open(filename))
	{
		char buf[64];
		wsprintf(buf, "%d", m_wKeyCodes[KEY_INDEX_UP]);
		file.WriteString("Keys", "Up", buf);
		wsprintf(buf, "%d", m_wKeyCodes[KEY_INDEX_DOWN]);
		file.WriteString("Keys", "Down", buf);
		wsprintf(buf, "%d", m_wKeyCodes[KEY_INDEX_LEFT]);
		file.WriteString("Keys", "Left", buf);
		wsprintf(buf, "%d", m_wKeyCodes[KEY_INDEX_RIGHT]);
		file.WriteString("Keys", "Right", buf);

	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -