ํ๋ก์ธ์ค์์ ์ฒดํฌํ๋์ค ์์๋๋ฐ
๋ ๋ ํจ์์์ ๋จผ์ ์ปค๋ฅํธ ํด์ฃผ๋๊ฑฐ๊ฐ๋๋ผ๊ตฌ
func _ready():
connect('body_entered',$plate,'wall_check()')
์ผ๋จ ๋ฐ๋ผํด๋ดค์ plate ๋ถ๋ถ์ด ๋ถ์ก์ ํ๋๊ธฐ ๋ถ๋ถ
์ ๊ธฐ๋ค๊ฐ ๋ ธ๋์ด๋ฆ ์ฐ๋ฉด ๋๋๊ฑฐ๊ฐ์๋ฐ ์์ ๋ ธ๋๊ฐ ์๋๋ผ์ ๊ทธ๋ฐ์ง ์๋จนํ๋๊ฑฐ๊ฐ์...
ํ์ฌ ๋ง๋๋ ค๋๊ฒ
*ํ๋ซํผ ๊ธฐ๋ฐ ์ด๋์์คํ ์ ๋ง๋ค์์
์ด ์ํ์์ ์ ํํ๊ณ ๋ํํ๊ธฐ ์์ํ๋ ์
์ฆ ์ค๋ ฅ์ด 0๋ณด๋ค ์์์ก์๋ 'plate'๋ผ๋ ๋ ธ๋๋ ๋ฟ๊ฒ๋๋ฉด ์ค๋ ฅ์ 0์ผ๋ก ๋ง๋ค์ด์ค
is on floor๋ก ๋ฐ๋ฅ์ ์๋์ง ์ฒดํฌํ๋๊ฑฐ์ฒ๋ผ
๋ฒฝ์ ๋ถ์ด์์๋๋ ๋จ์ด์ ธ์์๋ ์ฒดํฌํด์ผ๋๋๊น ํ ๊ธ์ฉ ๋ณ์ ํ๋๋ง๋ค๊ณ
body entered ๋ body exited ๋ก ํจ์ ๋๊ฐ ๋ง๋ค์ด์ ํ ๊ธํด์ฃผ๋ฉด ๋ ๊ฑฐ๊ฐ์๋ฐ
()๋ฅผ ์น๋๊ฒ ์๋๋ผ... ๊ทธ string์ผ๋ก ํจ์๋ฅผ ๋ถ๋ฌ์ค๋ ๊ฒ์ฒ๋ผ ๋ถ๋ฌ ์ค๊ณ ... emit_signal ํ ๋ ('ํจ์๋ช ', ๋งค๊ฐ๋ณ์)... ์ด๋ฐ์์ผ๋ก ํ๋ ๊ฒ ๊ฐ๋๋ฐ...
http://docs.godotengine.org/en/3.0/getting_started/step_by_step/scripting.html
์๊ธฐ์
๋ณด๋๊น ๋ ธ๋๋ช .์ปค๋ฅํธ ์ด๋ ๊ฒ ์ฐ๊ธธ๋ $plate ์ ๋ถ๋ถ์ ์ปค๋ฅํธ ์์ผ๋ก ์ฎ๊ฒจ์คฌ๋๋ ์ค๋ธ์ ํธ๋ฅผ ์ฐพ์์ ์๋ค๊ณ ๋จ๋น...
์์ ๋ ธ๋ ์๋๋ฉด ๋ชป์ฐ๋๊ฑด๊ฐ
connect('body_entered',$plate,'wall_check')
๋ด ๋ฃ๊ธฐ๋ก ์๋ฐ์คํฌ๋ฆฝํธ๊ฐ ๋ฌธ์์ด๋ก ํจ์๋ฅผ ํธ์ถํ ์๊ฐ ์๋๊ฑธ๋ก ์๊ณ ์๊ฑฐ๋ ... GD Script์ ํ์ด์ฌ ๋ฟ๋ง์๋๋ผ ์๋ฐ์คํฌ๋ฆฝํธ๋ ์ํฅ์ ์ค๊ฑธ๋ก ์๊ณ ์์... var๋ ๋ฌธ์์ด๋ก ํจ์ ํธ์ถ ๊ฐ์๊ฑฐ...
๋ฌด์จ ๋ง์ธ์ง๋ ์ ๋ชจ๋ฅด๊ฒ ๋ค... $plate.connect(...) ์ด๋ ๊ฒ ์ผ๋ค๋ ๊ฑฐ์??
connect('body_entered',$plate,'wall_check') ๊ฑ ์๋ ๊ฒ๋ง ์ฐ๋ฉด ์๊ธฐ์์ ์ด ์ ์กฐ๊ฑด์ ์ถฉ์กฑ์์ผฐ์ ๊ฒฝ์ฐ...์ธ๊ฑฐ ๊ฐ์์ ๊ทธ ๋ฐ๋๋ก $plate.connect('body_entered',self,'wall_check') ์ด๋ ๊ฒ ์จ๋ ๋๊ฐ์ง ์์๊น ํ๋๋ฐ ์ค๋ธ์ ํธ๋ฅผ ์ฐพ์ง ๋ชปํ๋ค๊ณ ๋ธ
์ผ๋จ ์ฌ๋ฆฐ ํด๋น ์ฝ๋๋... ()๋ฅผ ์จ์ 1์ฐจ์ ์ผ๋ก ๋ฒ๊ทธ๊ฐ ๋ฐ์ํจ...
func _ready(): connect("body_entered",$plate,"wall_in") connect("body_exited",$plate,"wall_out")func wall_in(): if wall == false : wall = true velocity.y = 0func wall_out(): if wall == true : wall = false์ฐ์ ์๋ ๊ฒ ๋ฐ๊ฟ๋ดฃ์ ์์ ๋ฐ์ดํ์์ ํฐ ๋ฐ์ดํ๋ก์์๋ ธ๋์๊ฒ๋ง ์ธ์์๋๊ฑฐ๋ฉด ๊ฒฐ๊ตญ ๋ฃจํธ๋ ธ๋์์ ๊ด๋ฆฌ ํด์ผ๋๋ค๋๊ฑด๋ฐ์ด๋ฐ ์ปค๋ฅํธ ๋ฐฉ์๋ง๊ณ ๋ ์กฐ๊ฑด์ฒดํฌ ํ๋ ๋ฐฉ๋ฒ์ด ์๋์ฉ?
๋จธ์ฌ ์ ๊ฐํ ์๋์ง
$plate ๋ ธ๋์ 'body_entered' signal ์๋์ง ๋ชจ๋ฅด๊ฒ ๋ค... ํ์ผ์ ์ ์ฒด๋ฅผ ๋ด์ผ ๋จผ์ง ๋ง๊บผ ๊ฐ์๋ฐ...
์ฅ?
๊ทธ๋ฅ ์กฐ๊ฑด๋ฌธ๊ฐ์๊ฑฐ ์๋๊ฐ ์ด๊ฑฐ
http://docs.godotengine.org/en/3.0/getting_started/step_by_step/scripting.html
์๊ฑฐ ๋ณด๋ฉด์ ํด๋ณด๊ณ ์๋ ์ค์ธ๋ฐ
์ด ๋ญ์ผ; ๊ทธ gui๋ถ๋ถ์ผ๋ก ์ฐ๊ฒฐ์์ผ์ฃผ๋๊น func _on_plate_body_entered(body): pass # replace with function body ์ด๋ ๊ฒ ํจ์ ์๋ก ์๊ฒผ์
์ค ์ด๊ฑธ๋ก ๋ง๋ค์ด์ฃผ๋๊น ๋ฌ๋ค
Gui๋ก ํธ์งํ ๋ ํ์ ๋ ธ๋์์ ์์๋ ธ๋๋ก ์ฐ๊ฒฐ๋ ๊ฐ๋ฅํ๋๋ฐ...
์ฝ๋๋ก ์น๋๊ฑฐ๋ง๊ณ ๊ฑ gui๋ก ์ฐ๊ฒฐํด์ฃผ๋๊น ํด๊ฒฐ๋ฌ์ ๋ ์ฉ
์ ์ด๊ฒ ์ปค๋ฅํธ๋ง๊ณ ํ์ ์ผ๋ก ๋ง๋ค์ด์ค์ผ ๋๋๊ฑฐ๊ตฌ๋ ์ด๊ฑฐ GUI๋ง๊ณ ๊ทธ๋ฅ ์ฝ๋๋ก ๋ง๋ค์ด์ค๋ ์์ ์์ดํ์ด ํ์ ๋จ๋์ฉ?
์ด๊ฒ ์๋ง ๊ฐ์ฒด์งํฅ์ ์ต์ ๋ฒ ํจํด์ ์ฝ๊ฒ ์ฐ๊ฒ ๋ง๋ค์ด ๋์ ๊ฑธ๋ก ์๊ณ ์์... ๊ฐ์ฒด๊ฐ์ ์๋ฆผ์ ์ฃผ๊ณ ๋ฐ๋ ๊ฑฐ์...
์ฝ๋๋ก ๋ง๋ค๋ ์ปค๋ฅํธ๋ ํ๊ณ ํจ์๋ ๋ง๋ค๊ณ ๊ทธ๋์ผ ํ ๊บผ์...
์... ์ฝ๋๋ก ํด๋ณด๋๊น... ์์ดํ์ด ์๋จ๋ค...