私は静的関数と変数について多くのことを調べて読みました。静的関数などで非静的変数/関数を単純に呼び出すことはできないことを理解したので、私の質問は、この問題をどのように解決できるかです。 m GLFW key_callback を使用しています。
GLFW には次のようなものがあります。
static void key_callback(GLFWwindow* window, int key, int scancode, int action, int mods)
{
if (key == GLFW_KEY_ESCAPE && action == GLFW_PRESS)
glfwSetWindowShouldClose(window, GL_TRUE);
}
これを他のウィンドウ関連の呼び出しと同様に追加します。
glfwMakeContextCurrent(window);
glfwSetKeyCallback(window, window_key_callback);
しかし、次のように key_callback で「スペース」キーが押された場合に、別のクラス関数を呼び出せるようにしたいと考えています。
私が持っている.hファイルに
#include "A.h"
...
private:
A *anotherClass;
そしてコンストラクターにある.cppファイルで
anotherClass = new A();
そして残り
static void key_callback(GLFWwindow* window, int key, int scancode, int action, int mods)
{
if (key == GLFW_KEY_SPACE && action == GLFW_PRESS)
antoherClass->draw();
}
この anotherClass は静的ではありません。スペースが押された場合に描画を開始したいだけです。
誰かがこれで私を助けることができますか?