2025년 3월 28일 금요일

[VB6] 폼 종료(X) 버튼 클릭 시 종료 여부 확인하는 방법

 VB6(VB6.0)에서 폼의 종료(X) 버튼을 눌렀을 때, 바로 종료되지 않고 사용자가 종료할지 취소할지 선택할 수 있도록 설정하는 방법을 소개합니다.

종료 버튼(X) 클릭 시 확인 메시지 띄우기

사용자가 X 버튼을 눌렀을 때, "프로그램을 종료하시겠습니까?"와 같은 메시지를 띄워 종료 여부를 선택하도록 만들 수 있습니다.

구현 코드 (Form_QueryUnload 사용)

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
    ' X 버튼을 눌렀을 때 확인 메시지를 표시
    If UnloadMode = vbFormControlMenu Then
        Dim result As Integer
        result = MsgBox("프로그램을 종료하시겠습니까?",
                 vbYesNo + vbQuestion, "종료 확인")
        
        ' 사용자가 "아니오"를 선택하면 종료 취소
        If result = vbNo Then
            Cancel = True
        End If
    End If
End Sub

코드 설명

  1. QueryUnload 이벤트 활용

    • 폼이 닫히려 할 때 실행되는 이벤트입니다.

    • UnloadModevbFormControlMenu이면 X 버튼을 클릭한 경우입니다.

  2. MsgBox로 종료 확인 메시지 표시

    • vbYesNo + vbQuestion 옵션을 사용하여 "예/아니오" 버튼이 있는 메시지를 띄웁니다.

  3. 종료 여부 결정

    • 사용자가 "예(Yes)"를 선택하면 종료됩니다.

    • 사용자가 "아니오(No)"를 선택하면 Cancel = True로 종료를 취소합니다.

실행 예시

X 버튼을 누르면 다음과 같은 메시지가 표시됩니다.

[종료 확인]
프로그램을 종료하시겠습니까?
[예]  [아니오]
  • [예]를 클릭하면 프로그램이 종료됩니다.

  • [아니오]를 클릭하면 프로그램이 계속 실행됩니다.

응용: 특정 버튼으로만 종료되도록 설정

만약 X 버튼으로는 종료되지 않고, 특정 버튼을 눌러야만 종료되도록 만들고 싶다면 다음과 같이 구현할 수 있습니다.

특정 버튼을 눌러야만 종료되게 만들기

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
    ' X 버튼으로 종료 방지
    If UnloadMode = vbFormControlMenu Then
        Cancel = True
        MsgBox "이 프로그램은 X 버튼으로 종료할 수 없습니다.", vbInformation, "알림"
    End If
End Sub

' 종료 버튼 (CommandButton) 클릭 시 종료
Private Sub cmdExit_Click()
    Unload Me
End Sub

마무리

이 방법을 활용하면 VB6 프로그램에서 실수로 X 버튼을 눌러 종료되는 것을 방지하고, 사용자에게 종료 여부를 확인할 수 있도록 할 수 있습니다. 필요에 따라 X 버튼을 아예 비활성화하거나, 특정 버튼으로만 종료되도록 변경하는 것도 가능합니다.

2025년 3월 23일 일요일

Blender Bsurface 애드온 사용법

 Blender에서 Bsurface 애드온을 활용하면 Grease Pencil이나 엣지를 이용하여 빠르게 메쉬를 생성할 수 있습니다. 특히 리토폴로지(Retopology) 작업에 유용합니다. 이 글에서는 Bsurface 애드온의 활성화 방법과 구체적인 사용법을 소개합니다.


🔹 Annotation을 활용한 리토폴로지 과정


1️⃣ Bsurface 애드온 활성화

  1. Blender 상단 메뉴에서 Edit > Preferences 를 클릭합니다.

  2. Add-ons 탭으로 이동한 후, 검색창에 Bsurface 입력합니다.

  3. "Mesh: Bsurface GPL Edition" 체크박스를 활성화합니다.

  4. 설정을 저장하려면 "Save Preferences" 버튼을 클릭합니다.

이제 Edit Mode에서 Bsurface 기능을 사용할 수 있습니다.


2️⃣ 리토폴로지할 오브젝트 준비

  1. 리토폴로지를 할 모델(예: 조각된 얼굴)을 선택

  2. Tab 키를 눌러 Edit Mode로 전환


3️⃣ Annotation을 사용하여 가이드라인 그리기

  1. "Placement" 옵션을 Surface로 설정

    • 이렇게 하면 Annotation 선이 모델 표면에 붙음

  2. 리토폴로지를 원하는 부분에 메쉬 가이드라인을 그리기


4️⃣ Bsurface로 면 생성

  1. 우측 Bsurface 패널에서 "Add Surface" 클릭

    • 그러면 Annotation 선을 따라 메쉬가 생성됨

  2. 필요에 따라 Subdivision 값을 조정하여 세부 디테일 수정



2025년 3월 22일 토요일

Blender Curve Extrude & Bevel 사용법 (Taper 적용 예제 포함)

 

1. 개요

Blender에서 Curve를 활용하면 간단한 선을 3D 형태로 변환할 수 있습니다. 특히 Extrude(압출), Bevel(베벨), Taper(테이퍼) 기능을 이용하면 곡선을 더욱 다양하게 변형할 수 있습니다. 이번 포스팅에서는 Taper Curve를 활용하여 유기적인 형태를 만드는 방법을 소개합니다.



2. Taper와 Bevel을 이용한 곡선 변형

2.1 Taper란?

Taper는 한쪽 끝은 가늘고, 다른 쪽 끝은 두껍게 만들 수 있는 기능입니다. 이를 활용하면 점진적으로 변형되는 곡선을 만들 수 있습니다.

2.2 Bevel과 Taper 적용 방법

  1. Shift + A → Curve → Bezier Curve 추가 (메인 곡선)

  2. Shift + A → Curve → Bezier Curve 추가 (Taper 곡선)

  3. 메인 곡선을 선택한 상태에서 Properties Editor → Object Data Properties → Geometry → Taper Object에 만든 Taper Curve를 지정

  4. 곡선의 두께가 Taper 곡선의 형태에 따라 점진적으로 변형됨

3. 실전 예제: 유기적인 튜브 형상 만들기

3.1 기본 세팅

  1. Shift + A → Curve → Bezier Curve 추가 (메인 곡선)

  2. Shift + A → Curve → Bezier Circle 추가 (단면 형상)

  3. 메인 곡선을 선택하고 Bevel Object로 Bezier Circle 지정

3.2 Taper 적용

  1. Shift + A → Curve → Bezier Curve 추가 (Taper 곡선)

  2. 메인 곡선 선택 후 Taper Object에 해당 곡선을 지정

  3. 필요하면 **Edit Mode (탭 키)**에서 Taper 곡선을 변형하여 원하는 형태로 조정

4. 단축키 및 추가 팁

  • H / Alt + H: 곡선 제어점을 숨기거나 다시 표시

  • G / R / S: 곡선 제어점을 이동, 회전, 크기 조절

  • Properties Editor → Geometry → Fill Mode: Full을 선택하면 단면이 채워진 튜브 형태가 됨

5. 마무리

Blender에서 Bevel과 Taper 기능을 활용하면 단순한 곡선도 다채로운 3D 모델로 변형할 수 있습니다. 위의 내용을 참고하여 창의적인 모델링을 시도해 보세요!

2025년 1월 8일 수요일

유니티 김치런 게임 제작: 초간단 Ctrl+C, Ctrl+V로 끝내는 게임 개발 도전!

 

저처럼 코드 입력하기 싫고 실행을 해보고 싶은 분들,

Ctrl+C, Ctrl+V 복사 붙여넣기 해서 사용하세요.

한 번 실행해 보면 유니티 구조적 이해에 많은 도움됩니다.


8. 김치런 튜토리얼 영상 링크

7. 김치런 게임 Heart .cs 소스코드 

6. 김치런 게임 Destroyer .cs 소스코드 

5. 김치런 게임 Spawner .cs 소스코드 

4. 김치런 게임 BackgroundScroll .cs 소스코드 

3. 김치런 게임 Mover .cs 소스코드 

2. 김치런 게임 GameManager .cs 소스코드 

1. 김치런 게임 Player .cs 소스코드 


#Unity #유니티 #kimchirun #김치런 #게임개발 #유니티초보자

-


Sidewinder


World


FishMusic


LaughingBaby