unity調用腳本
Ⅰ Unity3D如何正確調用與修改另一個腳本中的全局變數(在碰撞檢測中)
voidOnCollisionEnter2D(Collision2Dcol)///Collision2Dco1碰撞的那個碰撞物體信息
{
varyk=col.transform.GetComponent<bringkey>();//獲取那個碰撞物體上的類BringKey
if(yk.yellowkey>0)
{
Destroy(gameObject);
yk.yellowkey--;
}
}
要獲取的是已經存在於場景中的對象,繼承MonoBehaviour的類相當於你貼到對象上的一個腳本控制項。你要獲取的是一個已經存在與場景內的對象,不能使用New,OnCollisionEnter2D函數中發生碰撞的那一刻會把與當前物體接觸的那個物體碰撞信息通過參數Collision2D col傳遞進來。可以通過這個傳遞過來的值,修改傳遞過來物體上腳本的參數。
Ⅱ Unity3D中用JavaScript寫腳本,如何引用其他JS腳本
1、方法定義為static,直接類名.方法名調用;
如
class Main1{
public static function Add(j:int,i:int):void
{
Debug.Log(i+j);
}
}
Main1.Add(1,2);
2、new 一個對象,對象調用,如
var m:Main1 = new Main1();
m.Add(2,3);
3、GameObject.Find(),得到那個有這個腳本組件的GameObject,這個GameObject再GetComponent,得到script,scirpt再調用方法。
Ⅲ 在unity3D: c# 怎樣調用另外一個c#腳本裡面東西
例:第一個腳本名字為Class_1,第二個腳本名字為Class_2,Class_1調用Class_2
如果Class_2沒有綁定在任何GameObject上,那在Class_1里寫法:
Class_2 c2 = new Class_2();
如果Class_2綁定在GameObject上,那在 Class_1里寫法:
Class_2 c2 = null;
void Start()
{
c2 = GameObject.Find("綁定的GameObject名字").GetComponent<Class_2>();
}
Ⅳ unity的js腳本怎麼調用c#的類
在c#中一般會封裝成dll文件對外提供介面調用,unity的js腳本也是這樣的調用方式。
一、創建dll文件並備腔
1。打開vs文件->新建-> 項目->C#->類庫,輸入項目的名稱,創建一個dll項目;
2。引絕衫入 UnityEngine UnityEditor ;這兩個文件放在unity安裝目錄的Unity\Editor\Data\Managed路徑下,
具體添加步驟滾宏:右鍵點擊解決方案->添加引用->瀏覽;
3。如果加入了UnityEngine UnityEditor,在項目中就可以using UnityEngine 和 UnityEditor;如果項目中不需要,也可以省略第二步;
舉例說明:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using UnityEngine;
using UnityEditor;
using System.Collections;
namespace dlltest
{
class Class2 : MonoBehaviour
{
void Start()
{
Debug.Log("this is unity call C# dll test!");
}
}
}
5。F5啟動生成解決方案(debug或者release),把生成的dll放到unity工程的asset下;
6。如果繼承了Monobehaviour的類在dll的子對象中有顯示,這樣就可以綁定到GameObject上了,如果是要引用dll的類,需要using 命名空間,名字一般和項目名稱一致才能調用。