자마린(Xamarin)으로 안드로이드 어플을 만들던중 레이아웃 연결 실패(connection to the layout renderer failed.)라는 메시지가 표시되는 일이..... Connection to the layout renderer failed. This may be caused by a misconfiguration of java Please close and open the file again. 1. 문제의 원인 제가 설치해둔 안드로이드SDK의 버전이 낮아서 최신 버전을 설치한 후 이런 일이 발생했습니다. 그래서 파일이 꼬였나 해서 다 지우고 다시 세팅했지만 결과는...... 검색해보니 이런 글이 나왔습니다. Xamarin Forums - Disconnected from layout r..
유니티가 5.0이 되면서 플러그인 몇 개를 흡수해서 GUI를 구성하는 방법이 비주얼 적으로 바뀌었습니다. (4.6 때 바뀐 거 같지만 넘어가고 ㅎㅎㅎ) 새로워진 GUI 작성방법을 배워 봅시다. 이전 포스팅을 참고하시면 좋을 듯 하네요. 참고 : [Unity] GUI 작성하기 0. 테스트 화면 만들기 방향키를 'GUI'로 만들고 방향키를 누르면 카메라가 이동하도록 만들 것입니다. 테스트를 위해 프로젝트를 생성하고 3D 큐브를 하나 추가 합니다. 테스트용이니 적당한 이미지를 큐브에 적용합니다. 1. 버튼 만들기 이제 'GameObject'메뉴에 'UI'카테고리가 생겼습니다!!!! 1-1. 버튼 추가 하기 UI > Button 을 눌러 GUI 버튼을 추가 합니다. 이제 트랜스폼툴에 새로 추가된 'UI 툴'을 ..
닷넷(.Net)에서 열거형(Enum)은 자체로도 클래스(Class)와 비슷한 역할을 수행합니다. 그런데 열거형의 문제는 열거형 멤버를 직접 다루려면 손이 많이 간다는 것입니다. 우리는 객체지향(Object-Oriented Programming, OOP)을 통해 이런 손이 많이 가는 작업은 클래스를 만들어 캡슐화하여 처리하라고 배웠습니다. 그러니 열거형을 클래스로 변환해 봅시다. (Enum to Class) 연관글 영역 1. 클래스 만들기 닷넷에서 열거형은 구성이 잘되어 있어 형 변환도 쉽습니다. 그러니 이러한 작업을 해주는 클래스를 만들면 됩니다! 1-1. 데이터 저장용 클래스 상황에 따라서 구조체(struct)를 사용해도 되지만 형 변환과정에서 무언가 더 필요할 수 있으니 모델로 만들어 줍니다. ///..
유튜브에 올라와있는 'OpenTK' 플랫폼 튜토리얼을 따라하는 포스팅입니다. 'OpenTK'는 'OpenGL', 'OpenCL', 'OpenAL'가 합쳐진 C#랩퍼입니다. 0. 원본 OpenTK Platformer Tutorials: Part 3 - The View Class 뷰클래스를 만들어 보는 화면을 제어 합니다. 뷰클래스의 역할은 카메라와 같습니다. 1. 'View' 클래스 만들기 뷰를 다루기위한 클래스를 만들어 봅시다. 이 클래스에서는 카메라의 위치와 확대 배율, 각도를 제어 합니다. class View { /// /// 위치 /// public Vector2 position; /// /// 각도, + = 시계방향 /// public double rotation; /// /// 확대 /// 1 ..
유튜브에 올라와있는 'OpenTK' 플랫폼 튜토리얼을 따라하는 포스팅입니다. 'OpenTK'는 'OpenGL', 'OpenCL', 'OpenAL'가 합쳐진 C#랩퍼입니다. 0. 원본 OpenTK Platformer Tutorials: Part 2 - Loading and Drawing a Texture 텍스처를 불러오고 불러온 텍스처를 화면에 그리는 방법. 1. 프로젝트에 리소스 추가하기 이 부분은 C#의 기초라고 할 수 있습니다. 프로젝트에 'Content'폴더를 만들고 텍스처로 사용할 이미지를 넣어 둡니다. 추가한 이미지를 클릭한 후 속성창에 빌드 작업 : 없음 출력 디렉터리로 복사 : 변경된 내용만 복사 로 변경 해줍니다. 이제 프로젝트를 실행해보면 디버그 폴더에 'Content'폴더가 만들어지고 ..
콘솔 응용프로그램을 만들 때 상황에 따라서 콘솔 창(Console Window)이 필요 없는 경우가 있습니다. 이런 경우 간단하게 창을 띄우지 않는 방법이 있습니다. 1. 간단한 방법 프로젝트 속성 > 응용 프로그램 > 출력 형식 에 보시면 콘솔 프로젝트의 경우 '콘솔 응용 프로그램'으로 설정되어 있습니다. 이것을 'Windows 응용 프로그램'으로 바꿔주면 명령 프롬프트 창이 띄지 않습니다. 단순히 콘솔 창만 가리고 싶다면 이 방법이 최고죠 ㅎㅎㅎ 하지만 비하인드 코드에서 아무런 제어를 할 수 없다는 단점이 있습니다. 2. 'WinAPI'를 이용한 방법 조금 번거롭더라도 'WinAPI'를 이용하면 코드에서 컨트롤이 가능합니다. 아래와 같이 'WinAPI'를 마샬링 해주고 [DllImport("kerne..
유튜브에 올라와있는 'OpenTK' 플랫폼 튜토리얼을 따라하는 포스팅입니다. 'OpenTK'는 'OpenGL', 'OpenCL', 'OpenAL'가 합쳐진 C#랩퍼입니다. 0. 원본 OpenTK Platformer Tutorial: Part 1 - Clearing and Drawing in our Custom Game Class 게임(Game) 클래스를 만들어 화면을 초기화(Clearing)하고 서페이스(surface)를 그리는 방법. 1. 게임 클래스 만들기 프로젝트에 'Game'클래스를 만들어 줍니다. 이 클래스는 'GameWindow'를 상속받습니다. 그리고 주요 이벤트를 오버라이드(override, 재정의)해줍니다. class Game : GameWindow { public Game(int wid..
유튜브에 올라와있는 'OpenTK' 플랫폼 튜토리얼을 따라하는 포스팅입니다. 'OpenTK'는 'OpenGL', 'OpenCL', 'OpenAL'가 합쳐진 C#랩퍼입니다. 'Mono'와 호환되여 멀티플랫폼지원합니다. 'OpenAL'과 'OpneES'도 사용할 수 있고 자말린 스튜디오(Xamarin Studio)에서도 사용 가능합니다. 0. 원본 OpenTK Platformer Tutorials: Part 0 '비주얼 스튜디오 설치' 및 'OpenTK' 라이브러리 참조 하기. 1. 설치 하기 'OpenTK' 공식홈페이지에 가서 라이브러리를 다운받습니다. (참고 : OpenTK) 설치를 합니다. 설치할때 설치경로 확인합니다. 단순히 압축을 푸는 것이기 때문에 아무곳에나 설치하셔도 됩니다. 압축을 푼 폴더에 ..
닷넷에서 클래스(Class)와 같은 오브젝트(object)를 바이트 배열(byte Array)로 만드는 건 좀 번거로운 작업이 필요합니다. 그런 번거로운 작업 중 재미있는 게 있어서 퍼왔습니다. 바로 'XML'을 이용하여 클래스를 바이트 배열로 만드는 것입니다. (참고 : code.about - HOW TO CONVERT FROM YOUR CLASS OBJECT TO BYTE[] AND VICE VERSA AND SEND IT THROUGH SOCKETS) 1. 기능 구현하기 일단 클래스를 만들어 봅시다. public class TestXML { public string Data1 { get; set; } public string Data2 { get; set; } public string Data3 {..
간만에 콘솔 프로그램을 만들다가 보니.......콘솔 프로그램은 종료 이벤트 처리를 어떻게 하지? 1. 이벤트 연결 콘솔 프로그램은 UI가 없기 때문에 이벤트를 직접 연결 해야 합니다. 해당 이벤트 이름은 'ProcessExit'입니다. (참고 : stackoverflow Gonzalo님 답변 - How to run code before program exit?) static void Main(string[] args) { AppDomain.CurrentDomain.ProcessExit += CurrentDomain_ProcessExit; } static void CurrentDomain_ProcessExit(object sender, EventArgs e) { throw new NotImplemente..