mirror of
https://github.com/Linloir/SceneEditor.git
synced 2025-12-17 07:28:12 +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);
|
||||
_lightSwitch->setEnabled(false);
|
||||
_lightColorPanel->setEnabled(false);
|
||||
_deleteBtn->setEnabled(false);
|
||||
_lightSwitchIcon->setFont(QFont("Font Awesome 6 Free Regular", 12));
|
||||
_lightSwitch->deselect();
|
||||
_lightColorPanel->deselect();
|
||||
_deleteBtn->setEnabled(false);
|
||||
_deleteBtn->setIndicatorColor(QColor(171, 59, 58, 0));
|
||||
}
|
||||
else {
|
||||
// Update settings
|
||||
@ -530,6 +530,7 @@ void ModelSetter::update(Renderable* object) {
|
||||
}
|
||||
}
|
||||
_deleteBtn->setEnabled();
|
||||
_deleteBtn->setIndicatorColor(QColor(171, 59, 58, 0));
|
||||
}
|
||||
|
||||
if (_object != object || _object == nullptr) {
|
||||
|
||||
@ -477,6 +477,39 @@ void SceneViewer::keyPressEvent(QKeyEvent* event) {
|
||||
Logger::debug("Control pressed");
|
||||
_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) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user