Menu
CoddyTech

바위 떠다니게 하기

Coddy Godot 여정의 프로젝트 섹션에 포함된 레슨. 36개 중 16번째.

바위가 움직여야 합니다. rock.gd는 각 바위를 velocity만큼 이동시키고, 천천히 회전시키며, 우주선처럼 화면 반대편으로 나오게 합니다.

바위는 크기 때문에 0과 640이 아니라 -30과 670에서 화면 반대편으로 나옵니다. 이렇게 하면 다시 나타나기 전에 화면 밖으로 완전히 사라집니다. 이동 거리는 700으로, 더 넓은 영역의 너비입니다:

if position.x > 670:
	position.x -= 700

왼쪽 가장자리와 위쪽 및 아래쪽도 같은 방식으로 작동하며, 값은 -30, 390이고 이동 거리는 420입니다.

challenge icon

챌린지

어려움

바위가 떠다니고, 회전하며, 화면 반대편으로 이어지게 하세요.

  1. rock.gd에 _physics_process를 추가하세요. velocity * delta만큼 이동하고 rotation에 0.5 * delta를 더하세요.
  2. x 좌표가 -30보다 작거나 670보다 크면 반대 방향으로 700만큼 이동시키세요.
  3. y 좌표가 -30보다 작거나 390보다 크면 반대 방향으로 420만큼 이동시키세요.

‘플레이’를 누르세요. 바위가 화면을 가로질러 굴러가다 다시 나타납니다. 그런 다음 ‘확인’을 누르세요.

직접 해보기

extends Area2D

var velocity = Vector2.ZERO

# Bursts into dust where the rock is. Call it when the rock breaks.
func burst():
	var dust = CPUParticles2D.new()
	dust.position = position
	dust.one_shot = true
	dust.explosiveness = 1.0
	dust.amount = 20
	dust.lifetime = 0.7
	dust.spread = 180.0
	dust.gravity = Vector2.ZERO
	dust.initial_velocity_min = 30.0
	dust.initial_velocity_max = 120.0 * scale.x
	dust.scale_amount_min = 2.0
	dust.scale_amount_max = 5.0
	dust.color = Color(0.75, 0.82, 0.95)
	dust.finished.connect(dust.queue_free)
	get_parent().add_child(dust)
	dust.emitting = true

프로젝트의 모든 레슨

직접 연습해 보세요: Godot 플레이그라운드