-2

我按照这里的教程:鼠标和键盘输入 如果我删除与 DirectX 相关的所有内容,我不会收到任何错误。如果我使用 insted 指针,那么我会收到一个错误,指出我的 inputhandler 构造函数已被删除。有任何想法吗? 印刷丝网 H

   #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();
}
4

1 回答 1

2

您仍然需要链接到 DirectX Tool Kit 静态库。这些教程假定您正在使用 NuGet 包或已按照添加 DirectX 工具包教程步骤添加了对 DirectXTK 项目的引用,这会将静态库添加到您的项目构建中。

于 2018-03-28T19:27:58.690 回答