Example: Calling Flash Functions from Unity
Manual     Reference     Scripting   
Unity Manual > Getting Started with Flash Development > Example: Calling Flash Functions from Unity

Example: Calling Flash Functions from Unity

This example shows how you can call different AS3 functions from Unity. You will encounter three scripts:

When built to Flash, the AS3 implementation of ExampleClass is used. When run in-editor or built to any platform other than Flash the C#/JavaScript implementation will be used.


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 Implementation

You can create the class to mimic the AS3 implementation in either C# or JavaScript. The implementations are very similar. Both examples are provided below.

C# Implementation (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 Implementation (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");
    }
}


How to Call the Functions

ExampleClass.aStaticFunction();
ExampleClass.aStaticFunctionWithParams(1);
int returnedValue = ExampleClass.aStaticFunctionWithReturnType();

ExampleClass exampleClass = new ExampleClass();
exampleClass.aFunction();


Note: The Flash export feature is currently available as a developer preview. This feature is still in development and thus the above information is subject to change.

Page last updated: 2012-06-27