0
SDL_GetWindowSize()
を使用する適切な方法は何ですか?私が得たエラーmsgによると、整数なのでWIDTHとHEIGHTは使用しないでください。だから、彼らの場所で何を使うべきですか?sdl2.SDL_GetWindowSizeにはどのような関数パラメータを使用する必要がありますか?
import sdl2
APP_SHORT_NAME = 'Test'
WIDTH = 400
HEIGHT = 400
sdl2.SDL_Init(sdl2.SDL_INIT_VIDEO)
window = sdl2.SDL_CreateWindow(
APP_SHORT_NAME.encode('ascii'),
sdl2.SDL_WINDOWPOS_UNDEFINED, sdl2.SDL_WINDOWPOS_UNDEFINED,
WIDTH, HEIGHT, 0)
sdlWindowsize = sdl2.SDL_GetWindowSize(window, WIDTH, HEIGHT)
print('sdlWindowsize = {0}'.format(sdlWindowsize))
エラーメッセージ: - それは、結果の値が保存されます、ウィンドウ、およびint
に二つのポインタ
Traceback (most recent call last):
File "/home/sunbear/Coding/Vulkan/vulkan/MyProject/LunarG_cube_example/sdl2_window.py", line 13, in <module>
sdlWindowsize = sdl2.SDL_GetWindowSize(window, WIDTH, HEIGHT)
ctypes.ArgumentError: argument 2: <class 'TypeError'>: expected LP_c_int instance instead of int
ではなく '')( 'W = ctypes.c_intことと' H = ctypes.c_int()する必要がありますか?私はこれらを試して、彼らも働いた。 'w = ctypes.c_int(WIDTH)'と 'h = ctypes.c_int(HEIGHT) 'を使用すると、ウィンドウの幅と高さを取得するためにWIDTHとHEIGHTがSDL_GetWindowSize()に渡される必要があるという印象を与えました。奇妙に見える。 –
そうです、ちょうどintialな値です。その場合は関係ありません。しかし、はい、代わりに0に初期化する方が良いでしょう。 – keltar
回答を更新/改訂できますか? –