본문 바로가기

X-dea

(120)
MFC std::string 사용시 주의점 싱글톤을 이용해 매니저 클래스를 프로그램 종료시 releaseinstance 할 때해당 매니저 클래스에 std::string을 이용하고 있으면 ~basic_string() 쪽에서 에러가 발생 std::string의 자체 해제가 자동으로 이루어지지 않는다거나mfc는 CString을 이용해서 그런지해제시에 문제가 발생 std::string -> CString으로 변환하여 사용하니 잘 돌아감 ■변환void CUtil::CStringToString( std::string* p_Dest, CString p_Obj ){*p_Dest = p_Obj;} ■역변환std::string temp;CString tempString( temp.c_str() );// 선언과 동시에 대입
Windows10 멀티터치 스크롤 서비스 win10 Edge에서는 mac OS에서 쓰이는 멀티터치로 스크롤을 할 수 있는 기능이 생겼다.(win7에도 software적으로 제공하고 있었다;;) 어느날 시작프로그램과 서비스를 깔끔하게 설정하다가 멀티터치가 먹히지 않는걸 발견하고 어떤 서비스가 터치에 관련되어 있나 알아봤더니 Elan Service가 관여를 하고 있다는 것을 알 수 있었다. 이 서비스가 꺼져있으면 터치관련된 드라이버가 추가적으로 제공하는 서비스를 이용못하게 된다. 즉, Elan Service를 켜 놓으면 멀티터치 스크롤링도 아무 문제 없이 잘 돌아간다.
USB 부팅 인식이 되지 않을 때 CMOS 셋업에서 아래와 같이 설정해주면 됨.주로 win8 지원 노트북부터 이러한 옵션이 많이 있음.추가로 부팅을 빠르게 해주는 퀵 부트관련 메뉴를 disable해줘야 함.이런 퀵 부트관련 OS는 주로 HDD 일정 작은 부분을 독자적으로 공간을 차지하여 일부 부팅 관련 정보를 따로 저장하여 로드해줌. 그래서 부팅이 빠름 USB Legacy Support : on UEFI boot : off Legacy OS Boot : on XHCI Mode : auto
[Unity] trigger를 이용한 충돌 조건 : is trigger 체크 해줘야함 is trigger를 체크하면 충돌체가 투명으로 바뀌기 때문에 만약에 바닥이 있고 물리적 중력을 받는 오브젝트라면 바닥을 통과하고 떨어져 버린다. 이럴 땐, collider를 두개를 만들어주어서 하나는 is trigger를 체크해주고 하나는 collider크기를 바닥과만 닿을 수 있게 작게 해주어 만들어주면 통과하지 않는 트리거가 적용된 오브젝트가 된다. 충돌 판정 //< 몬스터 어택 트리거 void OnTriggerEnter(Collider mob) { if (mob.gameObject.name == "Mob") { //< 충돌체 제거 Destroy(mob.gameObject); } } 트리거만 체크되어있으면 오브젝트명을 이용하여 충돌체크를 할 수 있다.
[Unity] 방향 움직이기 void KeyboardInput() { //< 이동 속도 float moveSpeed = 10.0f; //< 좌우 키입력( -1부터 1사이의 float 값 반환 ) float dir = Input.GetAxisRaw("Horizontal"); //< 키입력방향으로 움직이기( 방향키 좌우 또는 "A", "D"키 ) this.transform.Translate(Vector3.right * dir * moveSpeed * Time.deltaTime); } 따로 키입력 함수를 만들어 Update()함수 안에 넣어 주면 된다.
[Unity]transform scale 변경 this.transform.localScale += new Vector3(1.0f, 0.0f, 0.0f); 로컬 스케일에 vector3의 요소를 이용하여 크기를 조절할 수 있다.
[NGUI] 6장. Input(EditBox) 생성하기 1. 아이디를 입력할 수 있는 EditBox를 만들려고 한다.입력창 또한 위젯이므로 위젯 위자드를 통해 만든다. 2. 템플릿에서 Input이란 것을 선택해 준다. 3. 백그라운드는 간단하게 제공되는 Dark를 선택한다. 4. Add To를 하면 Input이라는 오브젝트가 생성된다. 5. Input 오브젝트 자체를 배경UI와 합쳐주기 위해 앵커를 이용해 본다. Anchor는 오브젝트를 일정한 지점에 고정시키기 위해 사용하거나 다른 위젯에 고정시킬 수가 있다. 필자느 Panel위젯에 고정시켜보려고 한다. 앵커는 가볍게 의미만 알아두도록 한다. 인스펙터의 Add Component를 눌러 NGUI를 눌러준다. 6. UI를 눌러준다. 7. Anchor스크립트를 클릭해준다. 8. 앵커 스크립트의 Panel Cont..
[NGUI] 5장. 버튼 만들기 1. 이번엔 버튼을 만들어보도록 한다. 버튼도 위젯에 속하므로 NGUI->Open the Widget Wizard를 눌러서 버튼을 만들어준다. 2. Template을 Button으로 해준다. 3. Background는 2번째 이미지 Button이미지를 선택해 준다. 4. Add To를 누르면 Button 오브젝트 아래에 Button위젯이 생긴다. 5. PLAY버튼을 만들기 위해 오브젝트 명을 보기쉽게 바꿔주고 Label를 눌러 Play로 text를 바꿔준다. 6. 위치는 마우스로 오브젝트를 선택해서 배치하여도 좋다. Position은 200, -100에 위치하도록 하였다. 7. 중앙 상단에 플레이 버튼을 누르고, 아래 Game탭에서 마우스를 버튼위로 가져가 본다. 그러면 자연스럽게 버튼효과가 나타나게 되..