반응형
자주 사용하는 내장 객체 (Array, Object, String 등)

이벤트와 DOM 조작 및 자주 사용하는 내장 객체

1. 자바스크립트 내장 객체란?

자바스크립트에는 기본적으로 제공되는 여러 개의 내장 객체(Built-in Object)가 있습니다. 내장 객체를 활용하면 데이터를 효율적으로 관리하고 조작할 수 있습니다.

2. 주요 내장 객체

2.1 Array (배열)

배열은 여러 개의 데이터를 저장할 수 있는 객체입니다.

let fruits = ["사과", "바나나", "오렌지"];
fruits.push("포도"); // 배열에 요소 추가
console.log(fruits[0]); // '사과' 출력

2.2 Object (객체)

객체는 키-값(key-value) 쌍으로 데이터를 저장하는 구조입니다.

let person = {
	name: "홍길동",
	age: 25,
	job: "개발자"
};
console.log(person.name); // '홍길동' 출력

2.3 String (문자열)

문자열을 다룰 수 있는 객체로 다양한 메서드를 제공합니다.

let message = "Hello, JavaScript!";
console.log(message.length); // 문자열 길이 출력
console.log(message.toUpperCase()); // 대문자로 변환
console.log(message.replace("JavaScript", "World")); // 문자열 치환
728x90
반응형
반응형
이벤트와 DOM 조작

이벤트와 DOM 조작

1. 이벤트란?

이벤트(Event)는 사용자의 행동(클릭, 키 입력, 마우스 이동 등)에 반응하는 기능입니다.

2. DOM(Document Object Model)이란?

DOM은 HTML 문서를 트리 구조로 표현한 모델로, JavaScript를 통해 HTML 요소를 조작할 수 있습니다.

3. 이벤트 리스너(Event Listener)

이벤트를 감지하고 특정 동작을 실행하는 코드로, addEventListener()를 이용해 구현할 수 있습니다.

4. 예제: 이벤트를 활용한 DOM 조작

document.getElementById("changeColor").addEventListener("click", function() {
    let box = document.getElementById("box");
    let colors = ["lightblue", "lightcoral", "lightgreen", "lightgoldenrodyellow"];
    let randomColor = colors[Math.floor(Math.random() * colors.length)];
    box.style.backgroundColor = randomColor;
});

document.getElementById("changeText").addEventListener("click", function() {
    let box = document.getElementById("box");
    let messages = ["안녕하세요!", "DOM 조작 중!", "이벤트 발생!", "JavaScript 재미있어요!"];
    let randomMessage = messages[Math.floor(Math.random() * messages.length)];
    box.textContent = randomMessage;
});

아래 버튼을 클릭하면 박스의 색상과 내용이 변경됩니다.

클릭하세요!

다음 글 바로 가기 : 자주 사용하는 내장 객체 (Array, Object, String 등)

728x90
반응형
반응형
<h2>1. 함수 선언</h2>
<p>함수를 선언하는 방법은 여러 가지가 있지만, 대표적으로 <strong>함수 선언문</strong>과 <strong>함수 표현식</strong>이 있습니다.</p>

<h3>1.1 함수 선언문</h3>
<pre><code>function greet() {
console.log("안녕하세요!");

}

greet(); // 함수 호출 위 코드는 greet이라는 이름의 함수를 선언하고, greet();을 통해 호출하여 실행합니다.

<h3>1.2 함수 표현식</h3>
<pre><code>const greet = function() {
console.log("안녕하세요!");

};

greet(); // 함수 호출 함수 표현식에서는 함수를 변수에 저장할 수 있으며, 선언 후에 호출해야 합니다.

<h2>2. 매개변수와 반환값</h2>
<p>함수는 외부에서 값을 받아 처리할 수 있으며, 결과값을 반환할 수도 있습니다.</p>

<h3>2.1 매개변수가 있는 함수</h3>
<pre><code>function greet(name) {
console.log("안녕하세요, " + name + "!");

}

greet("철수"); 위 함수는 name이라는 매개변수를 받아 호출 시 원하는 이름을 입력할 수 있습니다.

<h3>2.2 반환값이 있는 함수</h3>
<pre><code>function add(a, b) {
return a + b;

}

let result = add(3, 5); console.log("결과: " + result); add 함수는 두 개의 값을 받아 더한 후 결과를 반환합니다.

<h2>3. 화살표 함수 (Arrow Function)</h2>
<p>ES6에서 도입된 <strong>화살표 함수</strong>는 더 간결한 문법을 제공합니다.</p>

<pre><code>const greet = (name) => {
console.log("안녕하세요, " + name + "!");

};

greet("영희"); 화살표 함수는 function 키워드를 생략하고 =>를 사용하여 선언할 수 있습니다.

<h2>4. 함수 활용 예제</h2>

<h3>4.1 두 수의 곱 구하기</h3>
<pre><code>function multiply(a, b) {
return a * b;

}

console.log("3 * 4 = " + multiply(3, 4));

<h3>4.2 배열 요소 출력</h3>
<pre><code>const numbers = [10, 20, 30];

numbers.forEach(function(num) { console.log("배열 요소: " + num); });

<h2>마무리</h2>
<p>함수는 JavaScript에서 핵심적인 개념으로, 다양한 기능을 모듈화하고 코드의 재사용성을 높이는 데 중요합니다.</p>
<p>직접 다양한 함수를 만들어 보며 연습해보세요! 🚀</p>

 

 

다음 글 바로 가기 : 이벤트와 DOM 조작

 

이벤트와 DOM 조작

이벤트와 DOM 조작 1. 이벤트란? 이벤트(Event)는 사용자의 행동(클릭, 키 입력, 마우스 이동 등)에 반응하는 기능입니다. 2. DOM(Document Object Model)이란? DOM은 HTML 문서를 트리 구조로 표현한 모델로, Jav

kookgame.tistory.com

 

728x90
반응형
반응형

 

 

제어문 (조건문과 반복문)

프로그래밍에서 "제어문"은 코드의 실행 흐름을 조작하는 문법입니다. JavaScript에서 중요한 제어문에는 조건문반복문이 있습니다.

1. 조건문 (Conditional Statements)

1.1 if 문

let age = 18;

if (age >= 18) {
    console.log("성인입니다.");
}

1.2 if-else 문

let age = 16;

if (age >= 18) {
    console.log("성인입니다.");
} else {
    console.log("미성년자입니다.");
}

1.3 else-if 문

let score = 85;

if (score >= 90) {
    console.log("A 학점");
} else if (score >= 80) {
    console.log("B 학점");
} else if (score >= 70) {
    console.log("C 학점");
} else {
    console.log("F 학점");
}

1.4 switch 문

let day = "월요일";

switch (day) {
    case "월요일":
        console.log("한 주의 시작입니다!");
        break;
    case "금요일":
        console.log("주말이 다가옵니다!");
        break;
    case "일요일":
        console.log("내일은 다시 월요일...");
        break;
    default:
        console.log("평범한 하루입니다.");
}

2. 반복문 (Loops)

2.1 for 문

for (let i = 0; i < 5; i++) {
    console.log("현재 i 값: " + i);
}

2.2 while 문

let count = 0;

while (count < 3) {
    console.log("count 값: " + count);
    count++;
}

2.3 do-while 문

let num = 0;

do {
    console.log("num 값: " + num);
    num++;
} while (num < 3);

2.4 for...in 문 (객체 반복)

let person = { name: "John", age: 25, city: "Seoul" };

for (let key in person) {
    console.log(key + ": " + person[key]);
}

2.5 for...of 문 (배열 반복)

let numbers = [10, 20, 30, 40];

for (let num of numbers) {
    console.log(num);
}

3. 제어문 활용 예제

3.1 짝수/홀수 판별하기

for (let i = 1; i <= 10; i++) {
    if (i % 2 === 0) {
        console.log(i + "는 짝수입니다.");
    } else {
        console.log(i + "는 홀수입니다.");
    }
}

3.2 1부터 100까지의 합 구하기

let sum = 0;

for (let i = 1; i <= 100; i++) {
    sum += i;
}

console.log("1부터 100까지의 합: " + sum);

마무리

조건문과 반복문은 JavaScript에서 필수적인 기능입니다. 조건문을 사용하여 실행할 코드의 흐름을 결정하고, 반복문을 활용하여 효율적으로 작업을 수행할 수 있습니다.

이제 직접 다양한 예제를 만들어 보면서 연습해보세요! 🚀

 

다음 글 바로 가기 : 함수 기초 (함수 선언, 호출, 매개변수)

728x90
반응형
반응형
Unity 애니메이션 종료 시점 처리

Unity에서 애니메이션 종료 시점 처리하는 방법

Unity에서 애니메이션이 종료될 때 특정 동작을 실행하려면 여러 가지 방법이 있습니다. 대표적인 방법을 정리해 보겠습니다.

1. Animation 이벤트 활용

애니메이션의 특정 프레임에서 이벤트를 호출하는 방식입니다.

using UnityEngine; public class AnimationEventHandler : MonoBehaviour { public void OnAnimationEnd() { Debug.Log("애니메이션 종료!"); // 추가 동작 실행 } }

2. Animator State 이벤트 활용

애니메이션 상태가 종료될 때 자동으로 감지하는 방법입니다.

using UnityEngine; public class AnimationStateHandler : StateMachineBehaviour { override public void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { Debug.Log("애니메이션 종료 감지!"); // 추가 동작 실행 } }

3. 코드에서 직접 애니메이션 종료 감지

애니메이터의 상태 정보를 체크하여 애니메이션 종료를 감지하는 방식입니다.

using UnityEngine; public class AnimationChecker : MonoBehaviour { public Animator animator; private bool isPlaying = false; void Update() { if (isPlaying && animator.GetCurrentAnimatorStateInfo(0).normalizedTime >= 1.0f) { isPlaying = false; Debug.Log("애니메이션 종료!"); // 추가 동작 실행 } } public void PlayAnimation(string animationName) { animator.Play(animationName); isPlaying = true; } }

4. Coroutine을 이용한 대기 후 실행

애니메이션 길이를 직접 계산하여, 종료 후 실행하는 방식입니다.

using UnityEngine; using System.Collections; public class AnimationCoroutine : MonoBehaviour { public Animator animator; public void PlayAnimation(string animationName) { StartCoroutine(WaitForAnimation(animationName)); } private IEnumerator WaitForAnimation(string animationName) { animator.Play(animationName); float length = animator.GetCurrentAnimatorStateInfo(0).length; yield return new WaitForSeconds(length); Debug.Log("애니메이션 종료!"); // 추가 동작 실행 } }

어떤 방법을 선택해야 할까?

방법 장점 단점
Animation 이벤트 직관적, UI에서 설정 가능 모든 애니메이션에 일일이 설정해야 함
Animator State 이벤트 애니메이션 상태별로 감지 가능 추가적인 State Machine Behaviour 필요
코드에서 직접 감지 일반적인 동작 감지 가능 Update()를 계속 실행해야 함
Coroutine 사용 특정 애니메이션 길이만큼 대기 가능 애니메이션이 변경되면 코드 수정 필요

결론

- 애니메이션마다 실행해야 할 동작이 다르면 Animation 이벤트 사용
- 특정 애니메이션 상태에서만 감지하려면 State Machine Behaviour 사용
- 코드에서 전체적으로 관리하려면 Animator 상태 체크 사용
- 일정 시간 후 실행하려면 Coroutine 사용

이 중 Animation 이벤트State Machine Behaviour가 가장 권장되는 방법입니다.
상황에 맞는 방식을 선택해서 사용하면 됩니다! 🚀

728x90
반응형
반응형
2025년 2월 험블 초이스 번들 정리

2025년 2월 험블 초이스(Humble Choice) 번들 정리

⚠️ 지역 제한 주의 사항

- Fabledom, Naheulbeuk's Dungeon Master는 한국에서 스팀 키 등록이 불가능할 가능성이 있음.
- 험블 번들 서포트에 문의하면 지역 제한 없는 키로 교환 가능한지 확인할 수 있음.

728x90
반응형

'게임 > 게임정보' 카테고리의 다른 글

2025년 1월 Humble Choice 게임 목록  (0) 2025.02.06
2024년 12월 Humble Choice 게임 목록  (0) 2025.02.06
반응형

메인 카메라(Main Camera) 설정

Unity에서 2D 프로젝트를 생성하면 기본적으로 ProjectionSize 값이 5로 설정되어 있습니다. 하지만 이 값을 640으로 변경하는 것이 작업 효율을 높이는 데 도움이 됩니다.

이유:

  • 기본 Size5일 경우, 디자인을 적용하면 이미지가 과하게 확대됩니다.
  • 이를 수동으로 줄이는 번거로운 작업이 필요합니다.
  • Size640으로 설정하면 이러한 수정 과정 없이 바로 적절한 크기로 작업할 수 있습니다.

캔버스(Canvas) 설정

UI 요소를 추가하면 자동으로 생성되는 Canvas의 설정을 조정하여 원하는 해상도와 게임 환경에 맞게 최적화할 수 있습니다.

설정 방법:

  1. Width, Height: 제작하려는 게임의 해상도로 설정합니다.
  2. Render Mode: World Space로 설정합니다.
  3. 카메라 연결: Main Camera와 연결합니다.

왜 World Space인가?

기본적으로 Screen Space - Camera 모드를 사용할 수도 있지만, 애드몹 하단 배너 광고를 추가하고 게임 화면을 약간 줄이는 방식을 고려할 경우 Canvas의 크기를 조정하기 어렵습니다. 따라서 World Space 모드를 사용하면 더 유연한 UI 배치를 할 수 있어 작업 효율이 올라갑니다.

이와 같은 설정을 적용하면 보다 효율적인 2D 게임 개발이 가능합니다!

 

728x90
반응형
반응형

2025년 1월 Humble Choice 게임 목록

게임명 한글 지원 Steam 링크
Against the Storm ✅ 지원 링크
Jagged Alliance 3 ❌ 미지원 링크
Blasphemous 2 ✅ 지원 링크
Beneath Oresa ✅ 지원 링크
Fort Solis ❌ 미지원 링크
Boxes: Lost Fragments ✅ 지원 링크
Dordogne ✅ 지원 링크
The Pegasus Expedition ❌ 미지원 링크
728x90
반응형
반응형

2024년 12월 Humble Choice 게임 목록

게임명 한글 지원 Steam 링크
Old World ❌ 미지원 링크
Monster Prom 3: Monster Roadtrip ❌ 미지원 링크
Boot.dev 1 Month Subscription ✅ 지원 링크
Venba ❌ 미지원 링크
Crime Boss: Rockay City - First Month Edition ✅ 지원 링크
Moonstone Island ❌ 미지원 링크
Atlas Fallen: Reign of Sand ✅ 지원 링크
The Invincible ❌ 미지원 링크
Inkulinati ✅ 지원 링크
Bomb Rush Cyberfunk ❌ 미지원 링크
728x90
반응형
반응형

🔹 기본 문법 (변수, 자료형, 연산자)

📌 변수 선언

자바스크립트에서는 변수를 선언할 때 var, let, const 키워드를 사용할 수 있습니다.

var oldVar = "이전 방식";  // 함수 스코프를 가짐
let newVar = "최신 방식"; // 블록 스코프를 가짐
const fixedVar = "변경 불가"; // 상수 선언

📌 자료형 (Data Types)

자바스크립트는 동적 타입 언어이며, 주요 자료형은 다음과 같습니다.

  • 기본형(Primitive Type): string, number, boolean, null, undefined, symbol, bigint
  • 객체(Object Type): Object, Array, Function
let str = "Hello"; // 문자열
let num = 42; // 숫자
let bool = true; // 불리언
let empty = null; // 널 값
let notDefined; // undefined
let uniqueID = Symbol("id"); // 심볼
let bigNumber = 9007199254740991n; // 빅인트

📌 연산자 (Operators)

자바스크립트에서 사용할 수 있는 주요 연산자는 다음과 같습니다.

1️⃣ 산술 연산자 (Arithmetic Operators)

let a = 10;
let b = 3;
console.log(a + b);  // 덧셈
console.log(a - b);  // 뺄셈
console.log(a * b);  // 곱셈
console.log(a / b);  // 나눗셈
console.log(a % b);  // 나머지
console.log(a ** b); // 거듭제곱 (ES6 도입)

2️⃣ 비교 연산자 (Comparison Operators)

console.log(10 > 5);  // true
console.log(10 < 5);  // false
console.log(10 == "10");  // true (자동 형변환 발생)
console.log(10 === "10"); // false (자료형까지 비교)

3️⃣ 논리 연산자 (Logical Operators)

let x = true;
let y = false;
console.log(x && y);  // 논리 AND (false)
console.log(x || y);  // 논리 OR (true)
console.log(!x);      // 논리 NOT (false)

4️⃣ 할당 연산자 (Assignment Operators)

let num1 = 10;
num1 += 5; // num1 = num1 + 5;
num1 *= 2; // num1 = num1 * 2;

 

다음 글 바로 가기 : 제어문 (조건문과 반복문)

728x90
반응형
12345···10

+ Recent posts