| 일 | 월 | 화 | 수 | 목 | 금 | 토 | 
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 | 
| 9 | 10 | 11 | 12 | 13 | 14 | 15 | 
| 16 | 17 | 18 | 19 | 20 | 21 | 22 | 
| 23 | 24 | 25 | 26 | 27 | 28 | 29 | 
| 30 | 
                            Tags
                            
                        
                          
                          - 게임
 - unity
 - smartfoxserver
 - file
 - Build
 - class
 - Flash
 - 경로
 - ios
 - Game
 - unity3D
 - Android
 - 아이튠즈
 - flash builder
 - Mac
 - Ane
 - iphone
 - sdk
 - AIR
 - swf
 - AS3
 - 단축키
 - path
 - 3d
 - 태그를 입력해 주세요.
 - 배열
 - builder
 - XML
 - texture
 - 영어
 
                            Archives
                            
                        
                          
                          - Today
 
- Total
 
상상 너머 그 무언가...
unity 스크린샷 ( Application.CaptureScreenshot ) 상대경로는? 본문
      개발관련(Development)/유니티3D(Unity3D)
      
    unity 스크린샷 ( Application.CaptureScreenshot ) 상대경로는?
Clack 2011. 4. 7. 18:13캡쳐스크린샷 함수를 이용해서 게임 플레이 화면을 캡쳐할때
절대경로를 지정해주면 저장하고 다시 로드할때 경로가 틀려지는걸 막을 수 있어 좋다.
하지만 절대경로는 해당 경로의 폴더가 없거나 하는 경우... 가령 C:\\temp 폴더에 이미지를 저장한다고 했을때
사용자의 컴퓨터가 메인드라이브 이름이 C가 아닌 D나 E로 바꾸어져있는 가능성도 있다.
이럴 경우 저장할 경로가 없기 때문에 오류가 나게 되는것이다.
맥북의 경우도 드라이브명이 C나 D 형식이 아니지 않는가?
유니티 프로그램이 아이폰이나 안드로이드폰에서 실행된다면? C드라이브가 없는건 당연할것이다. (있을수도 있겠지만...)
나는 개인적으로 절대경로를 싫어하고 상대경로를 선호한다.
어느 플렛폼에서나 오류없이 돌아가게 프로그래밍 하는것을 추구한다.
여튼 결론은 위 이미지에 나와있듯이
edit 상에서 실행했을때의 상대경로는 프로젝트 폴더가 기준이고
build된 상태에서 실행했을때의 상대경로는 해당 exe 파일이 있는 위치가 아닌 프로젝트명_Data 폴더가 기준이 된다.
Application.isEditor 값을 사용하여 editor모드일때와 빌드하여 실행했을때를 구분하여 스크린샷을 저장하게 작업을하면
프로젝트 폴더 위치가 옮겨지거나 빌드되어서나 경로수정이 필요 없어진다.