Programming

Programming/C# & Unity

Unity UI에 Onclick 넣기

using UnityEngine.EventSystems; public class ClickAction : MonoBehaviour, IPointerClickHandler { public void OnPointerClick(PointerEventData eventData) { // OnClick code goes here ... } }출처 : https://stackoverflow.com/questions/40567303/onclick-event-for-image-in-unity 비슷한 방법으로 다른것도 추가가능

Programming/C# & Unity

유니티 RectTransform

UI와 몇몇 Object에서 사용되는 Rect Transform 컴포넌트. 기본적인 내용은 아래와 같이 사용하면 된다. RectTransform rt = (RectTransform)gameObject.transform // transform을 rectTransform형식으로 캐스트. rt.sizeDelta = new Vector2(10, 10); // Width와 Height를 수정. rt.anchoredPosition = new Vector2(0, 0); // anchored이후의 Position, 디테일 창의 포지션 값을 수정 rt.offsetMin = new Vector2(rt.offsetMin.x, bottom); // bottom 수정 rt.offsetMax = new Vector2(rt.off..

Programming

Visual Studio 2017 단축키 정리

디버그 ----F5 -> BreakPoint까지 이동 or 에러까지 이동F9 -> BreakPoint 생성F10 -> 한 Function 내에서 한 Line 이동F11 -> 전체 코드 내에서 한 Line 이동 (위와 달리 함수 안까지 파고 들어감) 편집 ---Ctrl+G -> 줄 이동Ctrl+P -> 파일 검색Ctrl+1, Ctrl+m -> 멤버 검색Ctrl+F -> 검색Ctrl+H -> 찾아 바꾸기Ctrl+K, Ctrl+C -> 주석 처리Ctrl+M, C -> 모든 괄호 닫기F12 -> Function 정의 보기Ctrl+- -> 되돌아오기Ctrl+휠 -> 확대 축소 쓸만한 단축키가 있으면 계속 추가해야지..

Programming/C# & Unity

C# 쓰레드 Lock

"N명의 유저들이 어떤 희귀 아이템을 얻기위해 눈에 불을 키고 아이템을 찾고있다.그 유저들은 아이템이 생기면 즉시 한개를 습득한다.이때 M개의 아이템을 운영자가 뿌렸을때!서로 같은 아이템을 가져가려고 하다가 충돌이 생기지 않을까?" 라는 고민을 쓰레드를 공부하다가 하게 되었다.그래서 이와 같은 내용을 구현해보니 아니나 다를까... 아이템을 5개를 생성시켜 줬지만, 로그에는 아이템을 가져간 흔적이 2개밖에 남지 않았다.이런 일을 막기위해서 다른 쓰레드에서도 사용하는 전역변수 같은 것들을 사용할 때, 잠시 Lock을 해두고 사용해야한다.사용법은 다음과 같이 매우 간단하다. // 전역 변수와 같은 방법으로 선언 private Object itemLock = new Object(); // 변수를 사용하기 전에 ..

Programming/C# & Unity

C# 폼 종료 함수 만들기

아래와 같이 메인 초기화 함수에 FormClosing에 핸들러를 더해주면, 폼이 꺼질때 아래의 함수가 작동된다.종료나 저장같은 이벤트를 넣어야할때 사용하면 될듯! public FormName() { FormClosing += new FormClosingEventHandler(closing); } private void closing(object sender, FormClosingEventArgs e) { // TODO LIST }

Programming/C++ & Unreal

언리얼 플레이어 회전값 직접 바꾸기

UGameplayStatics::GetPlayerController(this, 0)->SetControlRotation(rideTarget->GetComponentRotation()); RideTarget의 로테이션에 플레이어 컨트롤러 화면을 바꾸는 건 이렇게 하면됨. 언리얼 인풋 컴포넌트에서 조정해서 그럼.

Programming/C++ & Unreal

언리얼 C++에서 경로로 에셋 불러오기.

LoadObject는 로드되지 않은 오브젝트를 레퍼런싱할때,FindObject는 이미 로드된 오브젝트를 레퍼런싱할때 쓰라고함. GridTexture = LoadObject(NULL, TEXT("/Engine/EngineMaterials/DefaultWhiteGrid.DefaultWhiteGrid"), NULL, LOAD_None, NULL); 이런식으로 하면되는듯 /Game/Sprite/Crosshair/Item_Sprite 경로는 대충이럼.Game = Content라고 생각하면될듯 const ConstructorHelpers::FObjectFinderSM_Body(TEXT("/Game/P38/SM_P38Body.SM_P38Body"));이런식으로 할수도있뜸 경로는 콘텐츠 브라우저에서 레퍼런스 복사를 하..

Programming/C++ & Unreal

UPaperSpriteComponent 쓰기

그냥 UPaperSpriteComponent를 쓰려면 에러가 잔뜩 난다..뭔가 하고 거의 반나절을 찾아본결과..PaperSpriteComponent.h를 인클루드하고,빌드.cs에, Paper2D를 추가하면된다.네트워크등 다른것들도 이런식으로 모듈확장을 해야하는덧.

Programming/C++ & Unreal

언리얼 C++ Enum 블루프린트에서 쓰기

UENUM(BlueprintType) enum class ECrossHair : uint8 { CROSSHAIR_NoDetect UMETA(DisplayName="NoDetect"), CROSSHAIR_Item UMETA(DisplayName="Item"), CROSSHAIR_Ride UMETA(DisplayName="Ride") }; 이런식으로 클래스 헤더 위에서 선언하고 쓰면됨.

Programming/C++ & Unreal

언리얼 4.12 Visual studio 2015 Update 3 사용하기

command line argument number 261 does not match precompiled header가 뜬다면 https://forums.unrealengine.com/showthread.php?115833-Tutorial-Fix-for-the-Visual-Studio-Update-3-without-Source-Control 여기 따라하면됨!!!!!

장형이
'Programming' 카테고리의 글 목록 (6 Page)