바위 떠다니게 하기
Coddy Godot 여정의 프로젝트 섹션에 포함된 레슨. 36개 중 16번째.
바위가 움직여야 합니다. rock.gd는 각 바위를 velocity만큼 이동시키고, 천천히 회전시키며, 우주선처럼 화면 반대편으로 나오게 합니다.
바위는 크기 때문에 0과 640이 아니라 -30과 670에서 화면 반대편으로 나옵니다. 이렇게 하면 다시 나타나기 전에 화면 밖으로 완전히 사라집니다. 이동 거리는 700으로, 더 넓은 영역의 너비입니다:
if position.x > 670:
position.x -= 700왼쪽 가장자리와 위쪽 및 아래쪽도 같은 방식으로 작동하며, 값은 -30, 390이고 이동 거리는 420입니다.
챌린지
어려움바위가 떠다니고, 회전하며, 화면 반대편으로 이어지게 하세요.
rock.gd에_physics_process를 추가하세요.velocity * delta만큼 이동하고rotation에0.5 * delta를 더하세요.- x 좌표가
-30보다 작거나670보다 크면 반대 방향으로700만큼 이동시키세요. - 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
프로젝트의 모든 레슨
2프로젝트: 소행성 슈팅 게임
우주선 회전하기엔진 가동하기직접 연습해 보세요: Godot 플레이그라운드