목차
예제: 유니티에서 Flash 함수 호출하기
이 예제는 유니티에서 다른 AS3(ActionScript3) 함수들을 호출하는 방법을 보여줍니다. 세 개의 스크립트를 참고하실 수 있습니다:
- 다른 함수 예제를 포함하는 AS3 클래스(ExampleClass.as). 사용자가 생성한 AS3 클래스들은 반드시 사용자 프로젝트의 "ActionScript" 폴더안에 위치하도록 해야 합니다.
- AS3 구현(동작)을 모방한 C#/JavaScript 클래스. 사용자는 이들 중 하나만 필요합니다.
- 유니티에서 함수들을 호출하는 방법을 보여주는 예제.
Flash로 빌드하는 경우에, ExampleClass의 AS3 동작(구현)이 사용됩니다. 에디터모드 또는 Flash가 아닌 다른 플랫폼에서 실행하는 경우 C#/JavaScript 동작(구현)이 사용됩니다.
ExampleClass.as
public class ExampleClass { public static function aStaticFunction() : void { trace("aStaticFunction - AS3 Implementation"); } public static function aStaticFunctionWithParams(a : int) : void { trace("aStaticFunctionWithParams - AS3 Implementation"); } public static function aStaticFunctionWithReturnType() : int { trace("aStaticFunctionWithReturnType - AS3 Implementation"); return 1; } public function aFunction() : void { trace("aFunction - AS3 Implementation"); } }
ExampleClass - C#/JavaScript 동작(구현)
사용자가 C# 또는 JavaScript를 이용해서 AS3 동작(구현)을 모방하는 클래스를 생성할 수 있습니다. 해당 동작(구현)은 매우 유사합니다. 두 예제 모두 아래에 제공됩니다.
C# 동작(구현) (ExampleClass.cs)
using UnityEngine; [NotRenamed] [NotConverted] public class ExampleClass { [NotRenamed] public static void aStaticFunction() { Debug.Log("aStaticFunction - C# Implementation"); } [NotRenamed] public static void aStaticFunctionWithParams(int a) { Debug.Log("aStaticFunctionWithParams - C# Implementation"); } [NotRenamed] public static int aStaticFunctionWithReturnType() { Debug.Log("aStaticFunctionWithReturnType - C# Implementation"); return 1; } [NotRenamed] public void aFunction() { Debug.Log("aFunction - C# Implementation"); } }
JavaScript 동작(구현) (ExampleClass.js)
@NotConverted @NotRenamed class ExampleClass { @NotRenamed static function aStaticFunction() { Debug.Log("aStaticFunction - JS Implementation"); } @NotRenamed static function aStaticFunctionWithParams(a : int) { Debug.Log("aStaticFunctionWithParams - JS Implementation"); } @NotRenamed static function aStaticFunctionWithReturnType() : int { Debug.Log("aStaticFunctionWithReturnType - JS Implementation"); return 1; } @NotRenamed function aFunction() { Debug.Log("aFunction - JS Implementation"); } }
함수를 호출하는 방법
ExampleClass.aStaticFunction(); ExampleClass.aStaticFunctionWithParams(1); int returnedValue = ExampleClass.aStaticFunctionWithReturnType(); ExampleClass exampleClass = new ExampleClass(); exampleClass.aFunction();
주의: 플래시 내보내기 기능은 현재 개발자 프리뷰로 사용 가능합니다. 이 기능은 아직 개발 중이므로 위 정보는 변경 될 수 있습니다.
- 출처: 유니티코리아위키 (CC BY-NC-SA 2.0)