у меня тоже вопрос, а заодно и небольшой пример по теме
вот что я имею:
проект, в сцене объект GUI Text к нему привязан скрипт testAPI
Используется csharp
using UnityEngine;
using System.Collections;
public class testAPI : MonoBehaviour {
void Start()
{
// обращение к функции веб страницы
Application.ExternalCall("SendName");
}
public void GetName(string _name)
{
// вывод имени пользователя на экран
this.guiText.text = _name;
}
}
со скриптом понятно задаёт текст объекту GUI Text. Всё скомпилировано в веб версию
Используется javascript
<html>
<head>
<script type="text/javascript" src="http://connect.mail.ru/js/loader.js"></script>
<script type="text/javascript" src="http://webplayer.unity3d.com/download_webplayer-3.x/3.0/uo/UnityObject.js"></script>
<script type="text/javascript">
<!--
var user = {};
if (typeof unityObject != "undefined")
{
unityObject.embedUnity("unityPlayer", "WebPlayer.unity3d", 600, 450);
// подключаем АПИ мэйла
mailru.loader.require('api', function() {
mailru.connect.init('625224','bc8731145033b371262885e3a9be3715');
// проверяем установлино ли приложение у пользователя
if(mailru.session.is_app_user != 1){
mailru.events.listen(mailru.app.events.applicationInstallation, function(event) {
});
mailru.app.users.requireInstallation(['notification', 'widget']);
return false;
}
//запрашиваем имя пользователя
mailru.common.users.getInfo(function(result){
user = result[0];
});
});
}
// функция отправки сообщения веб приложению в объект GUI Text и функцию GetName()
function SendName()
{
var unity = unityObject.getObjectById("unityPlayer");
unity.SendMessage("GUI Text", "GetName", user.first_name);
}
-->
</script>
</head>
<body>
<div id="unityPlayer"></div>
</body>
</html
>
всё вроде бы работает, но через раз, иногда сразу появляется имя пользователя в плеере иногда приходится несколько раз обновить страницу с приложением. так вот вопрос, это у меня в коде косяк или какие то глюки мэйла?