Есть строка SendMessage('MyGameObject', 'MyFunction');, что должно быть в принимающей функции?
Всем привет делаю игру под веб на Юнити. есть строка SendMessage('MyGameObject', 'MyFunction',3); которая передает значение из HTML страницы в юнити("Объект","Функция",Значение(может быть пустым)). Вопрос что должно быть в этой функции?
В аргументах может быть все что угодно, зависит от ваших потребностей. Гоняйте в обе стороны json и будет вам счастье. Принимающая функция должна быть какой-то такой : MyFunction(string arg)
Вывести куда? Если в консоль юнити то Debug,Log(Textname). Если в консоль браузера из js то console.log(Textname). Ну и если спрашивайте то спрашивайте более подробно, так как из вашего вопрос не понятно какой результат должен получиться
Ничего особого. Это должна быть публичная функция с названием MyFunction в скрипте на объекте с названием MyGameObject.
Если передаете параметр - то должен быть параметр у функции. на сколько помню принимает только string. Поэтому и параметр должен быть типа string
А как вывести значение этого параметра ну например в текст? Для этого у меня есть скрипт:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
using System;
public class SafingLoading : MonoBehaviour
{
public Slider slider;
public int Level;
private int slidV;
private float timer;
public Text Textname;
public Text Textlastname;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update()
{
slider.value = slidV;
timer += 6 * Time.deltaTime;
if (timer >= 2)
{
slidV += 7;
timer = 0;
}
if (slider.value >= 100)
{
#if UNITY_WEBGL
Application.ExternalCall("inform"); //Вызов функции информ, которая в свою очередь вызывает ('MyGameObject', 'Prin',3)
#endif
}
}
public void Prin(string arg)
{
//Вопрос, как сделать так что-бы переменная Textname была равна переданному параметру?
}
}
//Вопрос, как сделать так что-бы переменная была равна переданному
//параметру?
Вы про какую переменную ? args?
Она и так будет равна переданному параметру..показали б лучше вызов ('MyGameObject', 'Prin',3)
последнее это параметр..он у вас строка?
вы проверили что public void Prin(string arg) вообще вызывается? и чему равно args?
Denis Gaydak, У меня в скрипте есть публичная переменная Textname. Я хочу что-бы значение Textname было равно значению args. Извиняюсь я плохо разбираюсь C#. Параметр-число.
Вы вообще понимаете что куда предается..??
вы на стороне js скрипта/браузера вызываете ('MyGameObject', 'Prin',3) , вот только параметр сделав СТРОКОЙ
в эту строку - подставляйте - все что душе угодно. хотите свой Textname, хотите еще что-то.
тогда в Юнити-скрипте - сработает метод Prin(string arg)
где в args -будет именно то что вы передали строкой в вызове из js скрипта.
я не знаю как еще внятнее вам пояснить. или же у меня не получается понять (или у вас пояснить) что-же вам не понятно..
и вообще если возникают такие банальные вопросы...может вам какие то азы прочитать выяснить и подучить, а потом уже глубже лезть?