Unity/Tips 13.05.06 썸네일형 리스트형 [ 유니티(Unity 3D) 팁 ] Process 객체로 부터 파일 읽기 Process 객체로 부터 파일 읽기 System.Diagnostics.Process 클래스의 객체로 부터 파일을 읽어와야 될때가 있다. 분명히 사용하긴 했는데 어떤상황인지 기억이 나지 않는다; 다음과 같이 Process 클래스의 StandardOutput.ReadLine() 함수를 사용하면 파일로 부터 데이터를 읽을 수 있다. Process객체.StandardOutput.ReadLine(); 코드 private static void ReadFromProcess( System.Diagnostics.Process p ){string sTemp = string.Empty;while ( ! p.HasExited ) {sTemp = p.StandardOutput.ReadLine();}} 더보기 [ 유니티(Unity 3D) 팁 ] 에셋 폴더에 파일을 생성한후 에셋리스트에 추가안되는 문제 해결법 ( 에셋리스트 갱신법 ) 에셋 폴더에 파일을 생성한후 에셋리스트에 추가안되는 문제 해결법 스크립트 상에서 유니티 에셋 폴더에 파일을 생성한후 그 파일을 바로 사용해야 될경우가 있다. 하지만 파일을 생성했다고 해서 유니티의 에셋 목록에 바로 추가 되지 않는다. 때문에 파일이 만들어 지지 않은걸로 간주어 버린다. Alt+tab 눌러서 화면 갱신해주기 전까지는 asset 목록에 파일이 뜨지 않는다. 이럴 때 파일 생성후 AssetDatabase.Refresh() 해주면 에셋 목록이 갱신되면서, 생성한 파일이 에셋 목록에 추가 된다. 코드ex) 파일 생성시 FileStream fileCreateIDFile = System.IO.File.Create (m_sIDFileFullPath);fileCreateIDFile.Flush();file.. 더보기 [ 유니티(Unity 3D) 팁 ] 파일 생성, 삭제, 체크 함수 파일 생성, 삭제, 체크 함수 파일의 생성과 삭제 그리고 파일 유무 체크 시에 사용하는 함수는 using System.IO 네임스페이스 안에 정의 되어 있다. 인자값으로 파일의 이름을 포함한 경로를 넣어주면 된다. 생성 System.IO.File.Create ( string FilePath ); 삭제 System.IO.File.Delete( string FilePath ); 체크 System.IO.File.Exists( string FilePath ); 중요 팁 위 함수를 사용한 후에 파일 입출력등 파일 관련 작업을 하게 되는 경우 정상적으로 작동되지 않는 경우가 발생한다. 확인결과 파일사용후 close 시켜주지 않아서 발생하는 문제였다. 이같은 문제를 해결하기 위해서는 함수끝에 Close() 를 붙여주.. 더보기 [ 유니티(Unity 3D) 팁 ] 파일 입출력 방법 파일 입출력 방법 StreamWriter 클래스의 WriteLine 함수를 사용하여 파일에 데이터를 쓸 수 있고StreamReader 클래스의 ReadLine 함수를 사용하여 파일로부터 데이터를 읽어올 수 있다. 코드 using System.IO; // 파일 입출력 함수를 사용하기 위해 스크립트에 포함시킨다. // 파일에 쓰기function WriteFile( String filepathIncludingFileName ){ StreamWriter sw = new StreamWriter( filepathIncludingFileName ); sw.WriteLine("Line to write"); // 줄단위로 파일에 입력 sw.WriteLine("Another Line"); sw.Flush(); // 파일 .. 더보기 [ 유니티(Unity 3D) 팁 ] 외부 스크립트 접근방법 외부 스크립트 접근방법 다른 게임 오브젝트가 사용중인 스크립트에 접근해야 할때가 있다. 몬스터의 이동이나 데미지를 입히는 상황을 구현할때 외부 스크립트 접근이 필수 적이다. 외부 스크립트는 "게임오브젝트객체.GetCompoenent() " 함수로 가져올 수 있다. 코드 private scriptB script; void Update () { // 플레이어 오브젝트에 연결된 scriptB 스크립트를 가져온다 script = GameObject.Find("Player").GetComponent(); // 스크립트의 함수를 호출한다. script.Function(); } 참고 http://blog.naver.com/PostView.nhn?blogId=bluefallsky&logNo=140150974081 ht.. 더보기 [ 유니티(Unity 3D) 팁 ] MonoBehavior 에서 한글 주석 다는법 MonoBehavior 에서 한글 주석 다는법 Mono Editor 에서 한글 주석 사용시 제대로 동작 안할 수 있다 (100%) 원인불명 에러가 뜨거나 에러가 뜨지 않고 주석 아래 코드가 제대로 실행 되지 않음 한글 주석 끝에는 콤마( . ) 를 꼭 붙여야된다고 한다. 더보기 [ 유니티(Unity 3D) 팁 ] StreamReader 객체 사용후 파일 입출력 안되는 문제 해결법 StreamReader 객체 사용후 파일 입출력 안되는 문제 해결법 StreamReader 객체를 이용해 파일 입출력을 한뒤에 또다시 파일 입출력을 하려고 하면 파일 입출력이 안될때가 있다. 외국 포럼을 뒤져 알아본 결과 StreamReader 객체를 Close 를 해주지 않아서 생기는 문제점 이였다. 사용후 "객체명.Close()" 와 같이 적어주면 된다. 코드 StreamReader sRead = new StreamReader(sRevisionFullPath, System.Text.Encoding.UTF8); // 이곳에서 sRead 를 이용해 파일 입출력 작업을 했다고 가정한다 sRead.Close() // 파일 입출력이 끝나면 다음 파일 입출력을 위해 Close 해준다. 더보기 [ 유니티(Unity 3D) 팁 ] 파일 사이즈 체크 하기 파일 사이즈 체크 하기 FileInfo 객체를 생성한후 "객체명.Length" 을 통해 파일의 사이즈를 얻어올 수 있다. 코드 string filePath = "C:\\file.txt"; // it may audio,video file FileInfo info = new FileInfo(filePath); Debug.Log(info.Length+" Bytes"); 더보기 [ 유니티(Unity 3D) 팁 ] GameObject 동적으로 삭제 하기 GameObject 동적으로 삭제 하기 유니티에서 게임실행중에 GameObject 를 제거해야 할때가 있다. 예를 들면 총알이 몬스터에 맞았을 경우 총알을 제거해 줘야 한다. 또 몬스터의 HP가 0보다 작아지면 몬스터 또한 제거해 줘야 한다. Destroy (Object obj, t : float time= 0.0F) 함수를 이용하면 쉽게 제거할 수 있다. obj 는 삭제할 대상 오브젝트 이며, time 은 Destroy 함수 호출후 몇초후에 삭제할지 결정한다. 코드 // 게임 오브젝트를 제거한다.Destroy (gameObject); // 게임오브젝트로부터 현재 스크립트를 제거 한다.Destroy (this); // 게임오브젝트로부터 강체를 제거합니다.Destroy (rigidbody); // 오브젝트.. 더보기 [ 유니티(Unity 3D) 팁 ] List 사용법 List 사용법 C++ 의 STL List 와 같은 자료형을 유니티에서도 사용할 수 있다. System.Collections.Generic 네임스페이스를 스크립트에 포함시킨후 "List 변수명" 식으로 사용하면 된다. 코드 using System.Collections.Generic; 추가 public class MainClass{ void Start(){ List Cars = new List(); Car car = new Car(); car.Name = "MyCar"; Cars.Add(car); }} 참고 http://blog.naver.com/PostView.nhn?blogId=taxhon&logNo=60124971161&redirect=Dlog&widgetTypeCall=true 더보기 이전 1 2 다음