我在此处遵循教程:Mouse and keyboard input 如果删除与DirectX有关的所有内容,我不会收到任何错误。如果我使用指针insted然后我得到一个错误,说我的inputhandler构造函数被删除。有任何想法吗? ħ
#pragma once
#include <Windows.h>
#include "DirectXTK-master\Inc\Keyboard.h"
#include "DirectXTK-master\Inc\Mouse.h"
class InputHandler
{
public:
InputHandler();
InputHandler(HWND wndHandle);
~InputHandler();
void updateInput();
private:
std::unique_ptr<DirectX::Keyboard> keyboard;
std::unique_ptr<DirectX::Mouse> mouse;
};
CPP
#include "InputHandler.h"
InputHandler::InputHandler()
{
}
InputHandler::InputHandler(HWND wndHandle)
{
keyboard = std::make_unique<DirectX::Keyboard>();
mouse = std::make_unique<DirectX::Mouse>();
mouse->SetWindow(wndHandle);
}
InputHandler::~InputHandler()
{
}
void InputHandler::updateInput()
{
auto kb = keyboard->GetState();
if (kb.Escape)
PostQuitMessage(0);
auto mouseState = mouse->GetState();
}
答案 0 :(得分:2)
您仍需要链接到DirectX Tool Kit静态库。教程假设您正在使用NuGet包,或者根据Adding the DirectX Tool Kit教程步骤添加了对DirectXTK项目的引用,该步骤将静态库添加到项目构建中。