Я изучаю DirectX 11 и добрался до точки, где у меня квадрат. Мои 4 вершины определяются как:DirectX 11 Перемещение моего квадрата
VertexPos vertices[] =
{
XMFLOAT3(-0.2f, 0.2f, 0.2f),
XMFLOAT3(0.2f, 0.2f, 0.2f),
XMFLOAT3(-0.2f, -0.2f, 0.2f),
XMFLOAT3(0.2f, -0.2f, 0.2f)
};
Они затем пройти через необходимые этапы для визуализации на экране (как в привет мир программирования DirectX). Я объединил некоторый код из прямой входной демонстрации и хотел бы иметь возможность перемещать квадрат с помощью клавиш со стрелками. У меня до сих пор:
void SquareMove::Update(float dt)
{
keyboardDevice_->GetDeviceState(sizeof(keyboardKeys_), (LPVOID)&keyboardKeys_);
// Button down event.
if (KEYDOWN(prevKeyboardKeys_, DIK_DOWN) && !KEYDOWN(keyboardKeys_, DIK_DOWN))
{
PostQuitMessage(0);
}
(Это было, чтобы проверить, что мой, например, стрелка вниз обратный вызов работает.). Я сейчас не понимаю, как реально реализовать шаги, необходимые для перемещения моей площади. Я понимаю, что это связано с D3DXMatrixTranslation, но я изо всех сил пытаюсь понять, как все они свернуты вместе, чтобы выполнить необходимые операции. Спасибо
Вам было бы лучше, если бы вы сначала научились математике и начинали с 2D-наблюдения, так как ваша третья координата такая же. На самом деле, если бы я был вами, запустите DirectX3d и сделайте 2d-проводную фрейму, скажем, Paintbox. –
Это звучит полезно. Я действительно уверен в матричной манипуляции (я много программирую в MATLAB), но просто пытаюсь найти примеры того, как все это объединяется в прямом X. Какая вещь Paintbox, о которой вы говорите? –
Th оконный компонент PaintBox ... –