본문 바로가기

Programming321

고도엔진 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.
Ubuntu Gnome 런처 아이콘 만들기 우분투 Gnome 런처?에서 보여지는 아이콘을 만들고자 합니다. /usr/share/applications/ 폴도 안에 .desktop파일을 만들면 됩니다. 파일 내용은 아래와 같이 만듭니다. [Desktop Entry] Name=Defold Type=Application Terminal=False Exec=/home/seaofcalm/Program_Install/Defold/Defold Icon=/home/seaofcalm/.local/share/icons/hicolor/scalable/apps/defold.png Type은 Application으로, Terminal은 False로 Exec는 실제 실행파일 경로, Icon은 아이콘 경로.....뭐...보면 알듯.. 2021. 12. 22.
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.
Godot 시작하기#3 - Main Scene 1. Main Scene 생성 모든 요소들을 모을 Main Scene 을 생성합니다. 새 씬 생성후 "Node"라는 이름의 노드를 추가해줍니다. 그리고 "인스턴스화"아이콘을 클릭하여 Player.tscn을 불러옵니다. 그 외에는 자식노드 추가 기능에서 Timer 3개, Position2D 노드를 추가해주고, 각각의 이름을 아래와 같이 수정해줍니다. MobTimer - 가장자리에서 Mob이 생성되는 시간 통제 (0.5초) ScoreTimer - 매초마다 점수 증가시킴 (1.0초) StartTimer - 시작하기 전에 지연 시간 부여 (2.0초) StartPosition - Player의 시작 위치(240, 450) 2. Mob 생성 Main 노드가 Mob을 가장자리를 따라 랜덤한 위치에서 생성합니다. 이를.. 2021. 12. 22.
Godot 시작하기#2 - Mob Scene 1. 장애물 신 추가 웹 설명서를 그대로 번역하면 적 신으로 나오는데, 마음에 들지않아 장애물이라고 표현하겠습니다. 장애물에 해당하는 몹(Mob)들은 화면 가장자리 4군데에서 랜덤하게 생성되고, 직선방향으로 움직이도록 할 계획입니다. 우선 Player에서 했던 것과 마찬가지로 새 신(scene)을 추가하고 Rigidbody2D 노드를 추가합니다. 그리고 이름은 Mob으로 바꿔주겠습니다. 그리고 아래의 버튼(잠금열쇠 옆에있는거..)을 클릭하여, 추가되는 자식노드만 따로따로 선택되지 않도록 해 줍니다. 이어서, Gravity Scale을 0으로 해 줍니다. 즉, 중력에 영향을 받지 않게 해줍니다. 이 값이 0이 아닐경우, Mob들은 중력의 영향을 받도록 계산되고, 화면 아래로 떨어지게됩니다. 조금 아래로 내.. 2021. 12. 22.