3ca8d535f1db37a83eed98b21fd70403bca9d1fd0e3cb38f7be0




์œ„๋‚˜ ์ˆ˜ํ‰ ๋ฐฉํ–ฅ์—์„œ ๋‹ฟ์œผ๋ฉด ๊ดœ์ฐฎ์€๋ฐ, ์•„๋ž˜๋กœ๋งŒ ๊ฐ€๋ฉด ๋”ฑ ๋‹ฌ๋ผ๋ถ™์–ด์„œ ๋ฒฝ ๊ตฌ์„ ๊ฐ™์€ ๋ฌผ์ฒด๋กœ ๋–ผ์–ด๋‚ด์ง€ ์•Š์œผ๋ฉด ๋–จ์–ด์ง€์ง€ ์•Š์Šต๋‹ˆ๋‹ค.



์ด๊ฒŒ ์œ„์—์„œ๋„ ๋ถ™์—ˆ์œผ๋ฉด ๋ฌธ์ œ์ ์„ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์„ ๊ฑฐ ๊ฐ™๊ธด ํ•œ๋ฐ ์•„๋ž˜์—์„œ๋งŒ ๋ถ™์œผ๋‹ˆ๊นŒ ๋„์ €ํžˆ ๊ฐ๋„ ์•ˆ ์žกํž™๋‹ˆ๋‹ค..



extends CharacterBody2D


var run_speed = 25

var player = null


func _physics_process(delta):

velocity = Vector2.ZERO

if player:

velocity = global_position.direction_to(player.global_position).normalized()\

* run_speed

$AnimatedSprite2D.play("Walk")

if player.global_position > global_

$AnimatedSprite2D.flip_h = false

else:

$AnimatedSprite2D.flip_h = true

else:

$AnimatedSprite2D.play("Idle")

move_and_slide()

func _on_detection_area_body_entered(body):

player = body


func _on_detection_area_body_exited(body):

player = null

func enemy():

pass


์Šฌ๋ผ์ž„์€ ์ด๋Ÿฐ ์‹์œผ๋กœ ์ถ”๊ฒฉํ•˜๋Š” ํ˜•ํƒœ๋กœ ์ฝ”๋”ฉํ–ˆ์Šต๋‹ˆ๋‹ค.




==================================================================================================






3ca8d535f1db37a83eed9be5449f23347156f508e81f86a942cff254689a




๋‹ต๋ณ€ ๋ณด๊ณ  ์ฝœ๋ฆฌ์ ผ ํ‚ค๊ณ  ํ™•์ธ ํ•ด๋ดค๋Š”๋ฐ ํ˜น์‹œ ํžˆํŠธ ๋ฐ•์Šค๋กœ ๋งŒ๋“ค์–ด ๋†“์€ ์ฝœ๋ฆฌ์ ผ์ด ๋ฌธ์ œ์ธ๊ฐ€ ์‹ถ์–ด์„œ ๊บผ๋ดค๋Š”๋ฐ๋„ ์—ฌ์ „ํ•˜๋”๊ตฐ์š”.


๊ทธ๋ž˜์„œ ํ˜น์‹œ ์ฝœ๋ฆฌ์ ผ ๋งˆ์Šคํฌ๊ฐ€ ์–‘์ชฝ ๋‹ค ์ผœ์ ธ ์žˆ๋Š” ๊ฒŒ ๋ฌธ์ œ์ธ๊ฐ€ ์‹ถ์–ด์„œ ํ•˜๋‚˜๋ฅผ ๊บผ๋ดค๋”๋‹ˆ ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋์Šต๋‹ˆ๋‹ค.

24b0d121e09c28a8699fe8b115ef046c60f22a4e

(ํ”Œ๋ ˆ์ด์–ด)



24b0d121e09c28a8699fe8b115ef046c60f22e4e

(์Šฌ๋ผ์ž„)




์•„์ง ์ฝœ๋ฆฌ์ ผ ๋ ˆ์ด์–ด & ์ฝœ๋ฆฌ์ ผ ๋งˆ์Šคํฌ๋ฅผ ์ œ๋Œ€๋กœ ์ดํ•ดํ•˜์ง€ ๋ชปํ–ˆ๋Š”๋ฐ, ์–‘์ชฝ์ด ์„œ๋กœ๋ฅผ Mask๋กœ ์ง€์ •ํ•˜๊ณ  ์žˆ์œผ๋ฉด ์ด๋Ÿฐ ํ˜„์ƒ์ด ์ƒ๊ธฐ๋Š” ๊ฑธ๊นŒ์š”?