Unity3D中的js调用js

Unity3D中的js调用js

在Unity3D中的js文件如何调用另一个js文件的方法。

当前unity软件的版本号为4.3.4f1

具体示例如下: 2个js文件,分别是  js001.js和js002.js

js001.js的代码

(第1种调用方法)代码如下:

#pragma strict

var mSpeed = 50;
function Start () {
}

function Update () {
	//js002为js002.js的文件名,不要写文件名后缀
	var mControl:js002 = gameObject.GetComponent("js002");
	if(Input.GetKey(KeyCode.W)){
		mControl.GForward();
	}
	if(Input.GetKey(KeyCode.Q)){
		mControl.leftRotate(Vector3.up*Time.deltaTime*mSpeed*(-1));
	}
}

js001.js的代码

(第2种调用方法)代码如下:

#pragma strict

var mSpeed = 50;
function Start () {
}

function Update () {
	//js002为js002.js的文件名,不要写文件名后缀
	var mControl = GetComponent(js002);
	if(Input.GetKey(KeyCode.W)){
		mControl.GForward();
	}
	if(Input.GetKey(KeyCode.Q)){
		mControl.leftRotate(Vector3.up*Time.deltaTime*mSpeed*(-1));
	}
}

js001.js的代码

(第3种调用方法)代码如下:

#pragma strict

var mSpeed = 50;
var mControl : js002;
function Start () {
}

function Update () {
	//js002为js002.js的文件名,不要写文件名后缀
	mControl = GetComponent(js002);
	if(Input.GetKey(KeyCode.W)){
		mControl.GForward();
	}
	if(Input.GetKey(KeyCode.Q)){
		mControl.leftRotate(Vector3.up*Time.deltaTime*mSpeed*(-1));
	}
}

js002.js的代码如下:

#pragma strict

//speed
var mSpeed = 50;

function Start () {

}

function Update () {

}

//go forward
function GForward(){
	transform.Translate(Vector3.forward*Time.deltaTime*mSpeed);
}


//right rotate
function leftRotate(mSpeed){
	transform.Rotate(mSpeed);
}

 像上面例子中的代码,这样js001.js就可以调用js002.js文件中的方法了。

相关推荐