animation for chalkboard
This commit is contained in:
parent
4c65103fd6
commit
e5203bbc63
|
@ -48,7 +48,7 @@ texture ../texture/floor/Carpet.png
|
||||||
obj 0
|
obj 0
|
||||||
use 1
|
use 1
|
||||||
name myChair1_1
|
name myChair1_1
|
||||||
rotateY -1.5
|
rotateY 0.0
|
||||||
scale 1.0 1.0 1.0
|
scale 1.0 1.0 1.0
|
||||||
|
|
||||||
# Platz 2 #
|
# Platz 2 #
|
||||||
|
@ -1579,9 +1579,9 @@ obj 147
|
||||||
name myChalkboard
|
name myChalkboard
|
||||||
scale 1.9 1.9 1.9
|
scale 1.9 1.9 1.9
|
||||||
rotateX 0.0
|
rotateX 0.0
|
||||||
rotateY -1.5
|
rotateY 0.0
|
||||||
rotateZ 0.0
|
rotateZ 0.0
|
||||||
translate 0.0 -0.5 6.5
|
translate 6.4 -0.3 0.3
|
||||||
|
|
||||||
# Chalkboard 1 #
|
# Chalkboard 1 #
|
||||||
obj 138
|
obj 138
|
||||||
|
|
27
src/main.c
27
src/main.c
|
@ -56,6 +56,7 @@ SceneNode* rootNode;
|
||||||
/**
|
/**
|
||||||
* Input handler for camera movement.
|
* Input handler for camera movement.
|
||||||
* */
|
* */
|
||||||
|
float chalkboardYPosition = 0.0f;
|
||||||
void handleInputs(double deltaTime) {
|
void handleInputs(double deltaTime) {
|
||||||
assert(window != NULL);
|
assert(window != NULL);
|
||||||
|
|
||||||
|
@ -93,9 +94,31 @@ void handleInputs(double deltaTime) {
|
||||||
cameraPosition.y -= deltaTime * 10;
|
cameraPosition.y -= deltaTime * 10;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SceneNode* chalkboard = findNodeByName("myChalkboard1", rootNode);
|
||||||
|
if (!chalkboard) return;
|
||||||
if (glfwGetKey(window, GLFW_KEY_X) == GLFW_PRESS) {
|
if (glfwGetKey(window, GLFW_KEY_X) == GLFW_PRESS) {
|
||||||
SceneNode* chalkboard = findNodeByName("myChalkboard1", SceneNode* root);
|
if (chalkboardYPosition >= 1.0f) {
|
||||||
chalkboard->transformation[3][1] += 0.1f; // Erhöht die Y-Position
|
chalkboardYPosition = 1.0f;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
chalkboardYPosition += deltaTime * 1.0f;
|
||||||
|
chalkboard->transformation = (mat4){1.0f, 0.0f, 0.0f, 0.0f,
|
||||||
|
0.0f, 1.0f, 0.0f, 0.0f,
|
||||||
|
0.0f, 0.0f, 1.0f, 0.0f,
|
||||||
|
0.0f, chalkboardYPosition, 0.0f, 1.0f};
|
||||||
|
updateSceneNode(chalkboard, &findNodeByName("myChalkboard", rootNode)->worldTransformation);
|
||||||
|
}
|
||||||
|
if (glfwGetKey(window, GLFW_KEY_C) == GLFW_PRESS) {
|
||||||
|
if (chalkboardYPosition <= 0.0f) {
|
||||||
|
chalkboardYPosition = 0.0f;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
chalkboardYPosition -= deltaTime * 1.0f;
|
||||||
|
chalkboard->transformation = (mat4){1.0f, 0.0f, 0.0f, 0.0f,
|
||||||
|
0.0f, 1.0f, 0.0f, 0.0f,
|
||||||
|
0.0f, 0.0f, 1.0f, 0.0f,
|
||||||
|
0.0f, chalkboardYPosition, 0.0f, 1.0f};
|
||||||
|
updateSceneNode(chalkboard, &findNodeByName("myChalkboard", rootNode)->worldTransformation);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (glfwGetKey(window, GLFW_KEY_L) == GLFW_PRESS) {
|
if (glfwGetKey(window, GLFW_KEY_L) == GLFW_PRESS) {
|
||||||
|
|
Loading…
Reference in New Issue