mirror of
https://github.com/Linloir/SceneEditor.git
synced 2026-02-04 12:23:34 +08:00
[UI][ADD] WASD move model
This commit is contained in:
parent
e1cfd3932c
commit
7eccb8e98b
@ -430,11 +430,11 @@ void ModelSetter::update(Renderable* object) {
|
|||||||
_lightB->setEnabled(false);
|
_lightB->setEnabled(false);
|
||||||
_lightSwitch->setEnabled(false);
|
_lightSwitch->setEnabled(false);
|
||||||
_lightColorPanel->setEnabled(false);
|
_lightColorPanel->setEnabled(false);
|
||||||
_deleteBtn->setEnabled(false);
|
|
||||||
_lightSwitchIcon->setFont(QFont("Font Awesome 6 Free Regular", 12));
|
_lightSwitchIcon->setFont(QFont("Font Awesome 6 Free Regular", 12));
|
||||||
_lightSwitch->deselect();
|
_lightSwitch->deselect();
|
||||||
_lightColorPanel->deselect();
|
_lightColorPanel->deselect();
|
||||||
_deleteBtn->setEnabled(false);
|
_deleteBtn->setEnabled(false);
|
||||||
|
_deleteBtn->setIndicatorColor(QColor(171, 59, 58, 0));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
// Update settings
|
// Update settings
|
||||||
@ -530,6 +530,7 @@ void ModelSetter::update(Renderable* object) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
_deleteBtn->setEnabled();
|
_deleteBtn->setEnabled();
|
||||||
|
_deleteBtn->setIndicatorColor(QColor(171, 59, 58, 0));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_object != object || _object == nullptr) {
|
if (_object != object || _object == nullptr) {
|
||||||
|
|||||||
@ -477,6 +477,39 @@ void SceneViewer::keyPressEvent(QKeyEvent* event) {
|
|||||||
Logger::debug("Control pressed");
|
Logger::debug("Control pressed");
|
||||||
_controlPressed = true;
|
_controlPressed = true;
|
||||||
}
|
}
|
||||||
|
if (event->modifiers() == Qt::NoModifier && _selectedObject != nullptr) {
|
||||||
|
switch (event->key()) {
|
||||||
|
case Qt::Key_W: {
|
||||||
|
// move a bit upward
|
||||||
|
glm::vec3 up = _camera.up();
|
||||||
|
_selectedObject->move(up * 0.1f);
|
||||||
|
_selectedObject->updateBoundary();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case Qt::Key_S: {
|
||||||
|
// move a bit downward
|
||||||
|
glm::vec3 up = _camera.up();
|
||||||
|
_selectedObject->move(-up * 0.1f);
|
||||||
|
_selectedObject->updateBoundary();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case Qt::Key_A: {
|
||||||
|
// move a bit left
|
||||||
|
glm::vec3 right = _camera.right();
|
||||||
|
_selectedObject->move(-right * 0.1f);
|
||||||
|
_selectedObject->updateBoundary();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case Qt::Key_D: {
|
||||||
|
// move a bit right
|
||||||
|
glm::vec3 right = _camera.right();
|
||||||
|
_selectedObject->move(right * 0.1f);
|
||||||
|
_selectedObject->updateBoundary();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
parentWidget()->update();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void SceneViewer::keyReleaseEvent(QKeyEvent* event) {
|
void SceneViewer::keyReleaseEvent(QKeyEvent* event) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user