반응형

전체 글 105

[Unity] tag 비교하기('CompareTag()' VS '== tag')

유니티 프로그램을 개발하면서 Tag를 사용할 때가 많습니다. 제가 현재 개발하고 있는 게임에서는 플레이어와 몹이 충돌했는지 여부를 판단하기 위해 태그를 사용하고 있습니다. 아래 소스와 같이 태그를 비교하기 위해 CompareTag 메서드를 사용했습니다. private void OnTriggerEnter2D(Collider2D collision) { if (collision.CompareTag("Monster")) { // Monster 충돌 처리 } } 사실 tag는 string 문자열이기 때문에 아래와 같이 비교해도 됩니다. private void OnTriggerEnter2D(Collider2D collision) { if (collision.tag.Equals("Monster")) { // Mons..

Unity 2020.04.12

[JavaScript] Array에서 최대값/최소값 구하기 (apply 사용)

안녕하세요. Jay입니다. 오늘은 배열에서 최대값, 최소값 구하는 방법을 알아보도록 하겠습니다. 일반적으로 배열에서 최대값, 최소값을 구하기 위해서는 반복문을 사용합니다. 아마도 아래 소스와 같이 구현해야하지 않을까 생각합니다. 아주 간단한 소스임에도 불구하고 변수, 반복문, 조건문이 하나씩 들어가 있는 길다면 긴 코드가 구현이 되었습니다. var array = [1, 2, 3, 4, 5, 6, 7]; function getMax() { var max = array[0]; for(var i = 1; i < array.length; i++) { if(max < array[i]) max = array[i]; } return max; } function getMin() { var min = array[0]; ..

JavaScript 2020.04.11

[Unity] Coroutine VS Invoke

안녕하세요. Jay입니다. 일반적으로 주기적으로 함수를 반복할 때 유니티에서는 Coroutine과 Invoke를 사용합니다. 그렇다면, 이 두 메서드는 각각 어떤 특징이 있는지 알아볼까요? Coroutine - 코루틴은 실행을 중지하여 Unity에 제어권을 돌려주고, 그러나 계속할 때는 다음 프레임에서 중지한 곳부터 실행을 계속할 수 있는 기능 - IEnumerator를 반환 값으로 가짐. - yield return 구문을 어딘가에 가짐 (참고로, yield return은 실행을 중단 시키고 다음 프레임에 이후 구문이 실행되도록 함). - 유니티에서는 IEnumerator 반환형은 명시할 필요는 없음. 일반적으로 코루틴은 yield를 실행한 바로 다음 프레임에서 재개되지만, 지연후 실행하기 위해서는 Wa..

Unity 2020.04.11

[Unity] Update() vs FixedUpdate()

안녕하세요. Jay입니다. 오늘은 Update() 매서드와 FixedUpdate()에 대해서 알아보도록 하겠습니다. Update() - 화면 갱신 주기에 맞춰서 실행 - Update는 불규칙한 호출임으로 물리엔진 충돌 검사등이 제대로 안될 수 있음. - 단순한 타이머, 키 입력 받을 때 주로 사용 FixedUpdate() - 물리 갱신 주기에 맞춰 실행 - *Fixed Timestep에 설정된 값(기본 값: 0.02초)에 따라 일정한 간격으로 실행 - RigidBody Object를 조정할 때 주로 사용 - 오차가 발생할 확률이 상대적으로 더 적음. *Fixed Timestep 설정 방법 Time 설정(메뉴: Edit -> Project Settings 로 이동한 다음 Time 카테고리 선택)을 통해 설..

Unity 2020.04.09

[Unity] Circular Progress Bar(원형 진행바) 구현하기

안녕하세요. Jay입니다. 오늘은 원형 프로그래스 바를 구현해보겠습니다. 1. 먼저 투명 배경의 원형 이미지를 준비합니다. 해당 이미지를 유니티 assets 폴더에 넣습니다. 2. 캔버스를 추가합니다. 캔버스를 추가한 후, 캔버스의 자식으로 empty game object를 추가합니다. 그리고 empty game object를 'CircularProgressBar'로 이름을 짓습니다. 아래 이미지와 같은 구조가 됩니다. 3. Loading Bar를 추가합니다. 3-1. CircularProgressBar의 자식으로 이미지를 추가합니다. 이미지 이름은 LoadingBar로 짓습니다. 3-2. LoadingBar 이미지의 'Source Image'를 assets에 추가한 circle.png로 변경합니다. 3..

Unity 2020.04.08

[Element.classList] JavaScript를 이용한 클래스 제어

안녕하세요. Jay 입니다. 오늘은 JavaScript를 이용한 클래스 제어 방법에 대해서 알아보도록 하겠습니다. 먼저 Element.classList의 반환형은 'DOMTokenList'입니다. 이 DomTokenList의 메서드는 많은 것이 있지만, 오늘은 세가지만 살펴보려고 합니다. Element.classList.toggle toggle, 전등 스위치를 껐다 켰다 하는 행위 처럼, 0과 1이 반복되는 행위를 의미합니다. 즉, 기존 값이 0이었다면 1로 바뀌고 기존 값이 1이었다면, 0으로 바뀌게 됩니다. 그래서 toggle 메서드는 클래스가 존재한다면 클래스를 제거하고, 클래스가 존재하지 않는다면 클래스를 추가하는 메서드입니다. Element.classList.add 명시된 클래스를 추가하는 메서..

JavaScript 2020.04.07

Input Type="number" 일 때, iOS에서 숫자 키보드 안뜨는 문제

숫자만 입력 받을 수 있는 Input 요소를 만들기 위해 input type="number"로 지정하여 사용합니다. 안드로이드의 경우, type만 "number"로 지정하면 숫자 키보드가 뜨는데, iOS는 일반 키보드가 뜨는 것을 확인 할 수 있습니다. iOS에서도 숫자 키패드만 뜨도록 하기 위해서는 아래와 같이 패턴을 넣어주면 iOS 숫자 키보드가 뜨는 것을 확인할 수 있습니다.

HTML&CSS 2020.02.25

[JavaScript] Math 정리

Math Object는 수학적인 일을 수행한다. Math Object Properties Property 설명 E 오일러 수 값 (Euler's number, 약 2.718) LN2 자연로그 log2 값 (약 0.693) LN10 자연로그 log10 값 (약 2.302) LOG2E 2를 밑으로 하는 logE 값 (약 1.442) LOG10E 10을 밑으로 하는 logE 값 (약 0.434) PI PI 값 (약 3.14) SQRT1_2 루트 1/2 값 (약 0.707) SQRT2 루트 2 값 (약 1.414) Math Object Methods Method 설명 예제 예제 결과 abs(x) 절대 값을 반환한다. Math.abs(-10) 10 ceil(x) 가장 근접한 정수로 올림. Math.ceil(11...

JavaScript 2019.12.10

#03 Tutorial (Multiple Components)

Naming Convention Component 파일은 '.component'로 파일이름이 끝나야한다. 그리고 소문자와 dash('-')로 구성된 이름을 사용한다. ex) hero-detail.component.ts - component 파일의 구성은 다음과 같다. import { Component, Input } from '@angular/core'; @Component({ selector: 'my-hero-detail', template: ` {{hero.name}} details! id: {{hero.id}} name: ` }) export class HeroDetailComponent { } 1. Component와 Input을 import한다. 2. @Component 키워드를 사용해서 Com..

Angular 2019.12.09

#02 Tutorial (ngIf, ngFor)

- ngFor를 이용해서 배열을 출력할 수 있다. ngFor를 쓸때는 반드시 앞에 *를 붙여줘야한다. {{hero.id}} {{hero.name}} - Style도 `를 이용하여 멀티 라인 텍스트로 사용가능하다. styles: [` .selected { background-color: #CFD8DC !important; color: white; } .heroes { margin: 0 0 2em 0; list-style-type: none; ... ... ... margin-right: .8em; border-radius: 4px 0 0 4px; } `] - ngIf를 사용하면 해당 데이터가 있을 때만, 보여주게 할 수 있다. ngIf 또한 앞에 *를 반드시 붙여줘야한다. {{selectedHero.nam..

Angular 2019.12.08
반응형