>
Game Develop/Unity

유니티 폴더변경없이 자바스크립트의 변수, 함수를 C# 스크립트에서 사용하는 방법(유니티 패키지 포함)

※여기서 사용하는 방법은 좋지 않은 코딩 방법일 수도 있습니다

 

유니티로 제작을 하다보니 C#에서 자바의 변수, 함수를 사용하는 일도 많고 반대의 경우도 많습니다

자바스크립트에서 C#의 변수나 함수를 쓰는 건 잘되는데 C#에서는 자바스크립트 것을 가져오려고 별 짓을 해도 잘 안되서 구글링 시작.... 

우선 여기저기를 뒤져본 결과(맞지 않을 수도 있습니다 틀린 점있으면 말씀해주세요~)

 

 1. 일반적으로 C#스크립트를 먼저 읽고 Java 스크립트를 읽기 때문에 Java에서는 C#스크립트의 변수를 사용 할 수 있으나 반대의 경우가 안된다(예전에 찾았던 거 기억해서 쓰는 거라 확실한지 모르겠습니다;;;;;;;;;)

 

 2. "Standard Assets", "Pro Standard Assets", "Plugins" 폴더에 있는 스크립트를 가장 먼저 읽는다(http://docs.unity3d.com/412/Documentation/ScriptReference/index.Script_compilation_28Advanced29.html 참조

 Script compilation

1. All scripts in "Standard Assets", "Pro Standard Assets" or "Plugins" are compiled first.
2. All scripts in "Standard Assets/Editor", "Pro Standard Assets/Editor" or "Plugins/Editor" are compiled next.
3. All other scripts outside "Editor" are compiled next.
4. All scripts in "Editor" are compiled last.

)

 

외국사이트에서 하라는대로 해봤는데 마음에 안드는 것이 해당 자바스크립트를 Standard Assets에 넣으라고 했는데 그렇게하면 폴더 정리한게 많이 지저분해지기때문에 그렇게 하기 싫었습니다

위의 결과를 보고 머리를 굴렸습니다

플러그인에다가 자바스크립트의 변수들을 읽어주는 소스파일을 넣어주자라는 결론을 내렸습니다

즉, 자바스크립트 -> 플러그인에 있는 스크립트 -> C#스크립트 로 변수와 함수를 가져오자 라는 생각으로 만든 예제입니다

 

저번에도 그랬지만 저의 예제는 모든 사람들이 쉽게 볼 수 있도록 초간단하게 만들려고 노력하였습니다만...

 

위 내용에서도 언급했지만 해당 자바스크립트를 Standard Assets에 박아버리는 간단한 방법이 있지만 따로 폴더 정리해놓은 것을 바꾸기 싫을때는 이 방법이 더 깔끔해 보이는 것 같습니다

 

주의사항 : PC플랫폼에서만 사용 가능합니다, 안드로이드 플랫폼에서 사용시 엄청난 오류를 뿜어냅니다


Java_to_C_Shape.unitypackage

(네이버 블로그 - 2014.01.09. 16:27)

최근 트랙백

알림

이 블로그는 구글에서 제공한 크롬에 최적화 되어있고, 네이버에서 제공한 나눔글꼴이 적용되어 있습니다.

태그

카운터

Today : 45
Yesterday : 58
Total : 126,083