Red de conocimiento informático - Material del sitio web - Cómo interactuar con los datos de una página web en Unity3d

Cómo interactuar con los datos de una página web en Unity3d

Principios básicos de la interacción de Unity3D con datos web

Introducción:

1. El motor de juego de Unity3D está integrado con el editor, por lo que también es una plataforma de producción/desarrollo.

2. Unity3D utiliza JavaScript y C# como lenguaje de programación central para impulsar el motor del juego.

3. La plataforma puede publicar archivos ejecutables Exe o empaquetarlos en un archivo de paquete separado para llamadas a páginas web.

4. Los proyectos realizados con Unity3D son altamente portátiles y se pueden ejecutar en PS xbox360, Android, iPhone, mac y otros sistemas.

Páginas web incrustadas:

1. El principio de usar Unity3D para incrustar páginas web es exactamente el mismo que usar Flash para incrustar páginas web. Flash también usa controles ActiveX para incrustar páginas web. . Entonces, al igual que Flash, es necesario instalar un complemento de reproductor (menos de 3 M).

2. Vea el código fuente de la página y podrá ver la siguiente parte incrustada:

lt; object id="UnityObject" classid="clsid: 444785F1-DE89-4295-863A. -D46C3A781394 " width="600" height="450 "codebase="/download_webplayer/UnityWebPlayer.cab#version=2, 0, 0, 0"gt;

lt; param name="src" valor = "MyDataFile.unity3d" /gt;

lt; embed id="UnityEmbed" src="MyDataFile.unity3d" width="600" height="450" ​​​​type="application/vnd .unity" pluginspage ="/unity-web -player-2.x" /gt;

lt; /objectgt;

3. Como Flash, carga escenas 3D o lee el navegador La barra de progreso para buscar el ícono se puede personalizar y también puede personalizar si se activa el menú contextual.

Interacción de datos

1. Llamar a la función Web js en Unity3D

Si tenemos la función de script en html podemos usar Application.ExternalCall en u3d Llamar a la función js; , este método sólo es adecuado para su uso en un entorno Web3D. Este método admite el paso de tipos y matrices básicos; cualquier tipo se convertirá a tipo cadena para su uso.

Código de muestra:

Application.ExternalCall("SayHello", "¡El juego dice hola!); //llama a SayHello, pasa una cadena

2. Ejecute un código de script directamente en Unity3D, por ejemplo:

Application.ExternalEval("if(document.location.host!='unity3d.com'){document.location='';}");

3. Llame a funciones de Unity3D en js (pasar mensajes, etc.)

Si hay una función de Unity3D escrita en JS:

función MyFunction(param: String)

{

Debug.Log(param);

}

Cuando necesites llamar a esta función en JS, puedes escribir así :

lt;script type="text/javascript" language="javascript"gt;

SaySomethingToUnity(document.getElementById("UnityContent ").SendMessage("MyObject", " MyFunction", "¡Hola desde una página web!"););

lt;/scriptgt;

Cabe señalar aquí que MyObject representa el nombre de la escena como MyObject en Unity3D. y MyFunction se llama función, el último carácter es el parámetro pasado

Interactuar con php, jsp y otros datos de formulario

Interactuar con php, jsp y otros datos de formulario puede ser el principal. La forma de usarlo en el futuro es usar el formulario para identificar los datos que se pasan. Lo siguiente usa php como ejemplo.

Unity3D puede enviar los datos del formulario a la página especificada. use _POST en php para obtener los datos del formulario devueltos. Por ejemplo:

lt;?php

$action = $_POST["myform_action"];/Defina la variable $. acción para pasar los datos del formulario a la página

p>

if($action!=""){

echo $action //Si se reciben datos, imprima los datos; content

} gt;

En Unity3D, nuestro código para enviar datos es el siguiente:

var form = new WWWForm();//Definir una web form

form.AddField("myform_ action ", "Action1"); //Agrega un campo de identificación llamado myform_action con el contenido action1

var download = new WWW("www. xxx.com/index.php", form); // Envía datos del formulario a la página URL especificada

Si index.php está realizando operaciones de base de datos/estadísticas, podemos guardar, leer o manipular de otro modo el datos pasados.