본문 바로가기

Programming/Godot31

고도엔진 2D 슈팅게임 - 5 Enemy생성2 - Laser 씬을 상속하여 새로운 씬 생성 - New Inherited Scene... > laser.tscn - 노드 이름을 laser_enemy로 변경하고, laser_enemy.tscn으로 저장 - sprite에 enemy_laser.png 지정 - shape에 rectangleShape2D 지정 후 Edit - Extents: (4.5, 7) 지정 - vis_notifier의 Rect값 지정(x:-4.5, y:-7, w:9, h:14) - 속도 (0,150) 지정 - 아래방향으로 이동하는지 테스트 - 원점으로 복귀시켜 놓음 - 상속으로 새로운 씬 생성 > enemy.tscn 선택 - 노드 이름을 enemy_clever로 변경 - 다른 이름으로 저장하기 > enemy_clever.tscn으로 저장.. 2022. 1. 6.
고도엔진 2D 슈팅게임 - 4 Laser발사 - Flare 씬 생성 - sprite 노드 생성 후 이름을 flare로 변경 - flare 첫번째 이미지를 지정해줌 - 애니메이션 노드 추가 후 이름을 anim으로 변경, fade_out 애니메이션 추가 - 0초에서 flare 스프라이트의 Opacity 1로 하여 키를 추가 (Modulate의 Opacity속성을 255) - 0.1초에서 Opacity 0으로 하여 키를 추가 (Modulate의 Opacity속성을 0) - length를 0.1초로 변경 - flare sprite노드에 스크립트 추가(flare.gd) 시그널 "finished"은 "animation_finished"로 변경 - Laser 씬 생성(enemy용, player용 공통), Area2D 노드를 추가 후 laser로 변경 - Spr.. 2022. 1. 4.
고도엔진 2D 슈팅게임 - 3 Enemy생성1 2 타입의 Enemy 생성 Area2D 노드를 추가하여 enemy로 변경 - colisionShape2D 추가 > RectangleShape2D > Extents (16,16) 설정 - enemy 스크립트 추가 - y 속도 100으로 설정 - 화면을 넘어가면 삭제되도록 수정 - 첫번째 enemy: enemy_kamikaze - sprite에 enemy_kamikaze 이미지를 불러옴 - CollisionShape2D에서 Make Unique를 설정하고, 사이즈를 12,16으로 변경 - 속도를 350으로 설정 - enemy spawn - 자주 사용하는 함수를 utils.gd로 묶어서 스크립트 수정 # script: utils extends Node var main_node setget , _get_main.. 2022. 1. 4.
고도엔진 2D 슈팅게임 - 2 마우스 컨트롤과 배경 마우스 따라가는 동작 스크립팅 (수정..'2024.01.09) godot 버전 상승으로 get_pos()함수는 사용되지 않습니다. 그 외의 변경사항은 아래와 같습니다. - get_pos() --> get_global_pos() - set_pos() --> set_position() - view_size.width --> view_size.x extends Area2D func _ready(): set_process(true) pass # Replace with function body. func _process(delta): var motion = (get_global_mouse_position().x - get_global_position().x) * 0.2 translate(Vector2(motion.. 2022. 1. 4.
고도엔진 2D 슈팅게임 - 1 프로젝트 세팅과 Player 이런거 한번 만들어보겠습니다. (https://www.youtube.com/watch?v=Z9W6dlP-RB8&list=PLv3l-oZCXaqkUEqrLsKJIAhAxK_Im6Qew) 1. Project Settings 2022. 1. 3.
Godot 시작하기#4 - HUD Scene 및 마무리 1. HUD Scene 추가 HUD는 Head Up Display의 약자인데 게임의 요소와는 상관없는 UI 작성을 위한 부분입니다. Scene을 하나 추가한 뒤 CanvasLayer노드를 추가합니다. HUD에서 표시할 내용으로는 Score, "Game Over" 또는 "Get Ready!" 같은 문구, "Start" 버튼입니다. 즉 레이블과 버튼 요소가 필요합니다. 아래의 노드들을 CanvasLayer노드 하위에 자식노드로 추가해줍니다. ScoreLabel (Label) Message (Label) StartButton (Button) MessageTimer (Timer) 2. 폰트 폰트를 추가합니다. 경로는 인스펙터 창에서 Control > Theme Overrides > Fonts > 새 Dynami.. 2021. 12. 22.