728x90

함수 27

Unity 주요 함수 정리

Awake스크립트 실행 시 한 번만 호출게임 상태 값, 변수 초기화에 사용함Start 함수 호출 이전에 맨 먼저 호출됨비활성화 상태여도 실행됨코루틴으로 실행 불가능 StartUpdate 함수가 호출되기 전 한 번만 호출스크립트가 활성화되어 있어야 실행다른 스크립트의 모든 Awake가 모두 다 실행된 이후 실행코루틴으로 실행 가능 Update프레임마다 호출되는 함수, 게임의 핵심 로직 작성스크립트 활성화되어 있어야 실행 LateUpdate모든 Update 호출 후 한 번씩 호출순차적으로 실행할 로직에 사용카메라 이동 로직에 주로 사용스크립트가 활성화되어 있어야 실행 FixedUpdate물리 엔진을 사용할 경우, 일정 시간 힘을 가할 때 사용발생 주기 일정 OnEnable게임오브젝트 혹은 스크립트 활성화됐을..

C#] Thread.Sleep 대신 사용할 Delay 함수

System.Threading.Thread.Sleep을 이용해 간단하게 지연이 가능하나, 프로그램 자체를 완전 멈춰버린다.원하던 작업이 이게 아니라면 다른 함수를 사용해야 하는데, 아래 Delay 함수가 꽤 쓸만했다. private static DateTime Delay(int MS) { DateTime ThisMoment = DateTime.Now; TimeSpan duration = new TimeSpan(0, 0, 0, 0, MS); DateTime AfterWards = ThisMoment.Add(duration); while (AfterWards >= ThisMoment) { System.Windows.Forms.Application.DoEvents(); ThisMoment = DateTime...

함수 오버로딩과 디폴트 매개변수가 만드는 모호성

함수 오버로딩(Function Overloading) 함수 다중 정의라고도 하며 아래 조건을 만족시킬 때 함수가 오버로딩 되었다고 말한다. 1. 함수명은 동일해야 하며 반환형은 동일해도 되고 동일하지 않아도 된다.2. 매개 변수의 수가 다를 때3. 매개 변수의 수는 같은데 자료형이 다를 때 ex)void Foo(int a);void Foo(int a, int b); 디폴트 매개 변수(Default Parameter)함수의 매개 변수 값을 미리 지정해두는 방법으로, 선언 시점에 이를 작성한다. 함수를 호출할 때 실인수는 좌에서 우로 적용되기 때문에 디폴트 매개 변수는 오른쪽에서 왼쪽 방향으로 지정해야 한다. ex)void foo(int a, int b=10);foo(2); // a=2, b=10foo(3,..

OpenCV] Canny 함수

Canny 함수 Canny 알고리즘을 사용할 수 있게 해주는 함수. Canny 알고리즘은 엣지 검출 알고리즘이며, 에러율과 오차율, 응답성 측면에서 나쁘지 않다. void Canny(InputArray image, OutputArray edges, double threshold1, double threshold2, int apertureSize=3, bool L2gradient=false ) image : 변환할 그레이 이미지edges : 변환한 엣지 이미지threshold1 : 엣지 임계값threshold2 : threshold1 * ratioapetureSize : 커널의 사이즈

Library/OpenCV 2018.05.01

OpenCV] 이미지 반전 시키기

OpenCV에는 cvNot이라는 이미지 반전 시키는 함수가 있어서 이번에도 친구가 보내준 아이유 사진을 반전시켜봤다. 인물 사진을 반전시키는 건 확실히... 좀 그렇다. cvNot(const CvArr *src, const CvArr *dst) src는 변환하고자 하는 이미지를, dst는 변환한 이미지를 저장할 곳으로 사용한다. 유의할 점이 두 가지 정도 있다. 1. 함수에 이미지를 Mat이 아닌 IplImage로 다루어야 한다.2. dst로 받을 IplImage는 nullptr로 비워두는 것이 아니라 cvCreateImage()로 적절하게 할당해줘야 한다. 원본 결과 소스코드 #include using namespace cv; using namespace std; int main(void) { Mat ..

Library/OpenCV 2018.03.15

Arduino] 아두이노의 입출력 함수, 시간함수 정리

Digital I/O void pinMode(uint8_t pin, uint8_t mode)pin : 설정하고자 하는 핀 번호mode : INPUT, OUTPUT, INPUT_PULLUP 중 하나반환값 : 없음 void digitalWrite(uint8_t pin, uint8_t value)pin : 핀 번호value : HIGH 또는 LOW반환값 : 없음 int digitalRead(uint8_t pin)pin : 핀 번호반환값 : HIGH 또는 LOW Analog I/O void analogReference(uint8_t type)type : DEFAULT, INTERNAL, INTERNAL1V1, INTERNAL2V56, EXTERNAL 중 한 가지반환값 : 없음 int analogRead(uint..

C++에서 구조체와 클래스 차이

최근까지 흔한 커리큘럼이 C를 배우고 C++로 넘어가는 과정이었다. 두 언어를 완전히 다르게 보는 시각에서 접근해서인지는 몰라도, C++에서 구조체와 클래스의 차이를 잘못 이해하고 있는 사람들이 여럿 있는 듯 하다. 특히 C에서의 struct를 가지고 와서 C++의 struct와 동일시하면서, C++에서는 struct는 무조건 금기시 되어야 하는 것으로 분류해 무조건 class를 쓰는 게 옳다고 생각하는 오개념을 가진 사람들도 있었다. C++에서의 struct와 class의 차이를 C의 struct와 C++의 class로 잘못 비교하고 있다는 것을 알지 못한 채로 개념이 굳어져 가는 사람들이 많은 것 같다. C++을 대하는 태도와 관심 정도에 따라 이럴 수 있다고 생각하기 때문에 이를 혼동한다고 해서 큰..

C++] 일반화와 템플릿

template 키워드를 사용하면 중복함수들을 일반화시킨 특별한 함수 생성이 가능하다.이를 템플릿함수(template function) 혹은 제네릭함수(generic function)라고 한다.C++에서의 템플릿은 함수와 클래스 코드를 일반화시키는 도구 템플릿 함수나 클래스를 작성할 경우,template이란 키워드를 사용하여 로 제네릭 타입 T를 선언한다. 중복함수를 템플릿화하는 과정의 역과정을 구체화라 하며,컴파일러는 함수의 호출문을 컴파일하는 경우 구체화를 통해구체적인 함수의 소스코드를 생성해내며, 이를 구체화된 함수라 한다. #include using namespace std; class Circle { int radius; public: Circle(int radius = 1) { this->ra..

Web] 자바스크립트를 활용한 비밀번호 체크

커뮤니티, 쇼핑몰 같은 웹 사이트에서 회원가입을 하게 되면비밀번호를 확인하는 경우가 있다.자바스크립트를 활용하면 이를 간단하게 해결할 수 있다. 'password'와, 'pass1'을 입력한 상태. 두 칸 모두 'password'를 입력한 상태. 1234567891011121314151617181920function isSame() { var pw = document.twin.wUserPW.value; var confirmPW = document.twin.wUserPWConfirm.value; if (pw.length 16) { window.alert('비밀번호는 6글자 이상, 16글자 이하만 이용 가능합니다.'); document.getElementById('pw').value=document.getE..