言語: 日本語
  • C#
  • JS
  • Boo

スクリプト言語

お好みのスクリプト言語を選択すると、サンプルコードがその言語で表示されます。

AndroidJavaProxy

Namespace: UnityEngine

Description

このクラスを使用して任意の Java インタフェースの実装できます。プロキシオブジェクト上のインタフェースに一致する任意の Java VM メソッド実行は C# 実装に自動的に渡されます。

// Opens an android date picker dialog and grabs the result using a callback.

// Dummy class to hold date - makes it easier to modify it in the callback 
class SelectedDate {
	static var date : Date = System.DateTime.Now;
}

// The callback class
class DateCallback extends AndroidJavaProxy {
	function DateCallback() {
		super("android.app.DatePickerDialog$OnDateSetListener");
	}
	function onDateSet(view: AndroidJavaObject, year: int, monthOfYear: int, dayOfMonth: int){
		SelectedDate.date = new Date(year, monthOfYear + 1, dayOfMonth);
	}
}

function OnGUI () {
	if (GUI.Button (Rect (10,10,450,100), String.Format("{0:yyyy-MM-dd}", SelectedDate.date))) {
		var activity = new AndroidJavaClass("com.unity3d.player.UnityPlayer").GetStatic.<AndroidJavaObject>("currentActivity");
		activity.Call("runOnUiThread", new AndroidJavaRunnable(function(){
			new AndroidJavaObject("android.app.DatePickerDialog", activity, new DateCallback(), 
				SelectedDate.date.Year, SelectedDate.date.Month - 1, SelectedDate.date.Day).Call("show");
		}));
	}
}

Variables

javaInterface プロキシにより実装された Java インタフェース。

Constructors

AndroidJavaProxy

Functions

Invoke Javaプロキシインタフェースでメソッドが実行されるたびにJava VMにより呼び出されます。これをオーバーライドすることでメソッドの実行時に特別なコードを実行するか、実装をそのままとしてデフォルト動作である Java メソッドのシグニチャと一致する C# メソッドを探すことが出来ます。