Godot: Input.set_mouse_mode (Input.MOUSE_MODE_HIDDEN)๋Š” ์ฐฝ ํฌ๋กฌ์—์„œ๋„ ์ปค์„œ๋ฅผ ์ˆจ ๊น๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2016๋…„ 05์›” 05์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: godotengine/godot

์šด์˜ ์ฒด์ œ ๋˜๋Š” ์žฅ์น˜ :
Windows 10 Pro x64

๋ฌธ์ œ ์„ค๋ช… (๋ฐœ์ƒํ•œ ์‚ฌํ•ญ ๋ฐ ์˜ˆ์ƒ ๋œ ์‚ฌํ•ญ) :
Input.set_mouse_mode(Input.MOUSE_MODE_HIDDEN) ์‚ฌ์šฉํ•˜๋ฉด ๊ฒŒ์ž„์ด ํ‘œ์‹œ๋˜๋Š” ํด๋ผ์ด์–ธํŠธ ์˜์—ญ ๋‚ด๋ถ€๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ฐฝ ํฌ๋กฌ / ํ…Œ๋‘๋ฆฌ / ํ”„๋ ˆ์ž„ / ๋น„ ํด๋ผ์ด์–ธํŠธ ์˜์—ญ ์ƒ๋‹จ์—๋„ ์‹œ์Šคํ…œ ์ปค์„œ๊ฐ€ ์ˆจ๊ฒจ์ง‘๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด ์ตœ์†Œํ™” / ์ตœ๋Œ€ํ™” / ๋‹ซ๊ธฐ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๊ธฐ๊ฐ€ ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ์•„๋งˆ๋„ ์ด๊ฒƒ์€ ์ตœ์ ํ™” ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

bug windows core

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

๋‚ด ํฌํฌ์—์„œ ์•ฝ๊ฐ„์˜ ์ง„์ „์ด์žˆ์—ˆ์Šต๋‹ˆ๋‹ค : https://github.com/mattiascibien/godot/tree/hide-cursor-fix

๋ชจ๋“  3 ๋Œ“๊ธ€

Linux X11์—์„œ๋Š” ์žฌํ˜„ ํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ Windows ํ”Œ๋žซํผ ์ฝ”๋“œ์˜ ๋ฒ„๊ทธ๋ผ๊ณ  ๊ฐ€์ •ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

๋ฌธ์ œ๋Š” Win32API ShowCursor(p_mode==MOUSE_MODE_VISIBLE); ์— ๋Œ€ํ•œ ํ˜ธ์ถœ์— ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.์ด ํ˜ธ์ถœ์€ ์‹ค์ œ๋กœ ํด๋ผ์ด์–ธํŠธ ์˜์—ญ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ „์—ญ ์ ์œผ๋กœ ์ปค์„œ๋ฅผ ์ˆจ ๊น๋‹ˆ๋‹ค.

์ปค์„œ๋ฅผ ์ˆจ๊ธฐ๋ ค๋ฉด SetCursor(NULL) ํ˜ธ์ถœํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ์ด ํ•จ์ˆ˜๋Š” ๋˜ํ•œ ํ˜ธ์ถœ ๋  ๋•Œ ์‚ฌ์šฉ ๋œ ๋งˆ์ง€๋ง‰ ์ปค์„œ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋ฏ€๋กœ ๋‚˜์ค‘์— SetCursor(old_cursor) ๋กœ ๋ณต์›ํ•˜๊ธฐ ์œ„ํ•ด ๋ณ€์ˆ˜์— ๋ณด๊ด€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์ด ์ „์ฒด ํ™”๋ฉด์—์„œ ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ• ์ง€ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค.

https://msdn.microsoft.com/en-us/library/windows/desktop/ms648393 (v = vs.85) .aspx

ํŽธ์ง‘ : ์ด๊ฒƒ์— ๋”ฐ๋ผ setcursor๋Š” ์ฐฝ ๋ฉ”์‹œ์ง€ ๋ฃจํ”„ ๋‚ด์—์„œ ์ˆ˜ํ–‰๋˜์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.

EDIT2 : ์šฐ๋ฆฌ๊ฐ€ํ•ด์•ผ ํ•  ์ผ์€ ์‹ค์ œ๋กœ OS_Windows :: WndProc ๋ฃจํ”„๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ์ด ๊ฒฝ์šฐ๋ฅผ ์ˆจ๊ธฐ๊ณ  ํ‘œ์‹œํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‚˜๋Š” ํ•ด๊ฒฐ์ฑ…์„ ์ƒ๊ฐํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ํ•˜๋‚˜๋ฅผ ์ƒ๊ฐํ•ด๋‚ด๋Š” ์ฆ‰์‹œ ๋‚˜๋Š” ๋‹น์‹ ์„ ๊ฒŒ์‹œ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋‚ด ํฌํฌ์—์„œ ์•ฝ๊ฐ„์˜ ์ง„์ „์ด์žˆ์—ˆ์Šต๋‹ˆ๋‹ค : https://github.com/mattiascibien/godot/tree/hide-cursor-fix

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰