전체 글 (202) 썸네일형 리스트형 Number() vs parseInt() Number() - 숫자를 생성하는 생성자 함수다. - 인자로 들어온 값을 숫자로 변환한다.ex) Number(3.14) >> 3 - 변환할 수 없는 값의 경우 NaN을 띄운다.ex) Number('3월') >>NaN parseInt() - 문자열 타입 매개변수를 정수로 반환하는 함수다.ex) parseInt(3.14) >> 3ex) parseInt('3월') >> 3 [미니 프로젝트] 타이핑 효과가 있는 랜딩 페이지 수코딩님의 강좌를 보고 만들었다.출처: https://www.youtube.com/watch?v=e56H5n1SvEs&list=PL-eeIUD86IjSyxTbGT7wY3Hie_HA5bKvg 1. 문장의 알파벳을 하나씩 출력시키고2. 깜박이는 커서를 표현하여타이핑처럼 보이는 것이 주 목적이었다. 1. 문장의 알파벳 하나씩 출력하기출력하고 싶은 문자열을 개별 문자가 담긴 배열로 만들었다. 일정한 간격으로 함수를 반복 호출하여 문자를 출력하게 만든다.배열에 글자가 남아있지 않을 때까지 반복한다. 2. 깜박이는 커서 표현CSS 클래스를 일정 간격으로 끄고 켠다.CSS로 만들어진 커서 모양이 보였다 안보였다 반복하면서 깜박이는 커서가 표현된다. [For the Granada] NPC 개발 과정 - 추격과 순찰 로직 중심 졸업 프로젝트 "For the Granada"에서 내가 맡은 부분인 NPC 제작 과정을 정리해본다.맨 처음 NPC 순찰을 구현한 모습이다.순찰 방향을 바꿀 때 애니메이션이 한발짝 늦게 바뀌는 모습을 볼 수 있다. 애니메이션 레이어 구조를 바꿨더니 애니메이션 문제는 해결되었다. 시야범위를 처음 구현한 모습이다.raycast로 플레이어를 발견하는 기능은 있지만, NPC가 회전해도 시야 범위는 회전하지 않는다. NPC의 각을 이용하여 시야 범위를 회전시키는 데 성공했다.하지만, NPC와 플레이어가 부딪히면 플레이어가 일시적으로 빨간색이 되는 기능에서 오류가 생겼다.NPC가 아래로 이동중일 때만 정상적으로 빨간색이 되는 것이었다.NPC가 원거리 공격만 하는 것으로 기획이 바뀌면서 이 기능은 삭제되었다. NPC .. [C++] 상등성과 동등성 1. 상등성 (Identity)두 객체가 메모리 상에서 정확히 같은 위치에 있는지, 두 객체가 동일한 객체인지를 나타낸다.상등성 비교는 주로 포인터나 참조를 통해 이루어진다.operator ==에 기반을 둔다. 2. 동등성 (Equality)두 객체의 내용이나 상태가 동일한지를 나타낸다.두 객체가 서로 다른 메모리 위치에 있더라도 내용이 같으면 동등하다고 판단한다.operator 에 기반을 둔다.표준의 연관 컨테이너들은 동등성에 기반을 두고 있다. 참고자료https://github.com/Romanticism-GameDeveloper/GameDeveloper-Client-Interview/blob/main/C%2B%2B/%EC%83%81%EB%93%B1%EC%84%B1%EA%B3%BC%20%EB%8F%9.. [C++] 순수 가상 함수 (pure virtual function) 1. 순수 가상 함수 (pure virtual function)함수의 정의가 이뤄지지 않고 함수만 선언한 상태다. 이를 추상클래스(abstract class)라고 부른다.virtual void foo() = 0;객체로 만들지 못하고 상속할 때만 사용할 수 있다.추상클래스를 상속받은 자식 클래스는 무조건 해당 순수 가상 함수를 오버라이드시켜야 한다.#include class A {public: virtual void foo() = 0;};class B : public A {public: void foo() override { printf("오버라이드~\n"); }};int main(void) { // A a; B b; b.foo(); //output : 오버.. [C++] 가상 소멸자 (virtual distructor) 1. 가상 소멸자virtual로 선언된 소멸자다.상속 관계가 있다면 가상 소멸자를 선언하는 것이 좋다. 자식 클래스의 인스턴스가 소멸할 경우 자식 클래스의 소멸자만 불리게 되므로 부모 클래스에서 동적 할당한 자료가 해제되지 않아 메모리 누수의 위험이 있다. 하지만 부모 클래스에 virtual 키워드를 붙여면 자식 클래스의 소멸자는 자동으로 virtual이 된다. 추가적으로 소멸자가 불릴 때는 자식, 부모 클래스 순으로 불리게 된다. 참고 자료https://github.com/Romanticism-GameDeveloper/GameDeveloper-Client-Interview/blob/main/C%2B%2B/%EA%B0%80%EC%83%81%20%EC%86%8C%EB%A9%B8%EC%9E%90.mdhttp.. [C++] vector 1. vector 컨테이너자동으로 메모리가 할당되는 배열이다.연속적인 메모리 공간을 미리 할당한다.원소 삽입 시 메모리 공간이 부족하다면 새 메모리 공간을 할당한 뒤 그곳에 기존 원소들을 복사한 다음 새 원소를 삽입한다.size: 실제 원소들이 있는 공간. resize 함수로 변경할 수 있다.capability: 벡터가 차지하고 있는 공간. reserve 함수로 변경할 수 있다. 2. 값 삭제erase: 값 삭제remove: 위치 변경두 가지를 주로 같이 사용한다.remove를 사용하여 해당 조건에 부합하는 원소들을 벡터의 뒤에 넣은 후, 뒤로 밀린 원소들의 시작범위를 넘겨준다. vector v;//...v.erase(remove(범위 시작, 범위 끝, 지우고 싶은 원소), v.end());v.erase.. [C++] typedef vs using (별칭 선언) 1. typedefC와 C++ 언어의 예약어다. 다른 자료형의 별명을 만들기 위해 사용된다.typedef int Length; //int의 동의어로 Length를 만든다typedef int (*PFI)(char *, char *); //int를 반환하는 2개의 char*인수의 함수에 대한 포인터를 위한 동의어로 PFI를 만든다 2. using C++ 언어의 예약어다. 포인터가 관여할 경우 using이 더 이해하기 쉽다.템플릿화가 가능하다.typedef std::unique_ptr> UPtrMapSS;//typedef 이용using UPtrMapSS = std::unique_ptr>;//using 이용 참고자료https://github.com/Romanticism-GameDeveloper/GameDevel.. 이전 1 2 3 4 ··· 26 다음