예제: 유니티에서 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();


주의: 플래시 내보내기 기능은 현재 개발자 프리뷰로 사용 가능합니다. 이 기능은 아직 개발 중이므로 위 정보는 변경 될 수 있습니다.

역링크