1. Función de Unity que envía datos a la página web: Application.ExternalCall("SayHello",gameObject.name). Esta función llamará a la función SayHello en la página web, y gameObject.name es el. parámetro pasado.
2. La función de la página web para enviar datos a unity: utilice la función GetUnity().SendMessage(message, "AcceptName", buildingname) en la página web para llamar a la función en unity. El mensaje del parámetro de esta función está en la unidad. El objeto, AcceptName es la función en el objeto y buildingname es el parámetro pasado.
Las funciones en la página web son las siguientes:
1 función SayHello(mensaje){//Esta función recibe el valor del mensaje enviado desde unity y envía los datos procesados de regreso en unity
2 jQuery.post('../Unity/javascript/DBhelper.ashx', {id:message}, función(datos)
3 {
4 var msg=JSON.parse(data);//Analizar datos json
5 var buildingname = msg[0].Building_name;
6 var buildingcategory=msg [0] .Building_category;
7 var buildingpic = msg[0].Building_pic;
8 GetUnity().SendMessage(message, "AcceptName", buildingname);//A la función MyFunction en el objeto de mensaje en unity envía el valor del nombre del edificio
9 GetUnity().SendMessage(message, "AcceptCategory", buildingcategory);
10
11 GetUnity ().SendMessage(message, "AcceptImg", buildingpic);
12 });
13 }
Esta función El mensaje de datos se pasa a DBhelper.ashx En DBhelper.ashx, se consultan los datos pasados y se realizan otras operaciones, y luego se usa GetUnity().SendMessage(message, "AcceptName", buildingname) para pasar los datos procesados buildingname a la función AcceptName. .
El siguiente es un script en Unity que puede implementar chino. Debido a la cantidad limitada de artículos sobre la implementación en chino, no lo explicaré aquí. Solo explico cómo recibir datos de una página web.
1 var ChineseSkin: GUISkin; //Aquí puedes seleccionar la fuente y configurarla en chino. Se recomienda configurar el editor en uft-8.
2
3 var buildingname:String;//Se usa para recibir el valor del nombre del edificio pasado desde la página web
4 var buildingcategory:String;//Usado Para recibir el valor de buildingcategory pasado desde la página web
5
6 var buildingpic:Texture2D;//Para recibir el valor de buildingpic pasado desde la página web
7 var windowRect0 = Rect (20, 20, 250, 200);
8 var enable:boolean;
9 función Awake(){
10 enable = false ;
11 }
12 función OnMouseDown () {
13 Application.ExternalCall("SayHello",gameObject.name);// Al La función SayHello en la página web envía datos gameObject.name
14 enable = true;
15 }
16 función AcceptName(bdname){//para recibir Datos enviados desde la página web
17 buildingname=bdname;
18 }
19 función AcceptCategory(buildingType){//Se utiliza para recibir datos devueltos de los datos de la página web
20 buildingcategory=buildingType;
21 }
22
23 función AcceptImg(img){ p>
24 var www :WWW = new WWW("http://localhost:1166/Unity/images/"+img+"");
25 yield www;
26 edificiopic=www.texture;
27 }
28 función OnGUI(){
29 GUI.skin=chineseSkin;
30 if(enable)
31 {
32 windowRect0 = GUI.Window (0, windowRect0, DoMyWindow, "Property");
33 }
34 }
35 función DoMyWindow (windowID: int) {
36 GUI.Label(Rect(10,50,80,30),"Construcción Nombre" );
37 GUI.TextField(Rect(100,50,100,30),nombre del edificio);
38 GUI.Label(Rect(10,100,80,30)," tipo de edificio");
39 GUI.TextField(Rect(100,100,100,30),buildingcategory);
40
41 GUI.DrawTexture(Rect(10,150,200 , 50), buildingpic,ScaleMode.ScaleToFit,true,0);
42 if(GUI.Button(Rect(190,20,50
,30),"Salir")){
43 enable = false;
44 }
45 GUI.DragWindow (Rect (0,0,10000 ,10000));
46 }
47 función OnMouseOver(){
48 transform.Rotate(0,Time.deltaTime*100,0,Space .World);
49 }
50 función OnMouseEnter(){
51 renderer.material.color = Color.blue;
52 }
53 función OnMouseExit(){
54 renderer.material.color = Color.amarillo;
55 }
Este es un script en Unity. Este script implementa hacer clic en un objeto y mostrar las propiedades del objeto.