我有一个项目,在那里你使用一个堆栈。thats how it looks in the browser
我想从C#代码中发送数据,比如所选对象的名称等,到webgl索引html中,以便在数据表所在的右侧显示数据。
我已经尝试过使用jslib文件,但无法真正保存所获得的数据,只能显示一个包含所选对象名称的警报
这是我的jslib代码,我在alert上试过了。
mergeInto(LibraryManager.library, {
SendData: function (data){
window.alert(Pointer_stringify(data));
},
});
这是我的C#代码,我只是发送对象的名称来测试它。
[DllImport("__Internal")]
private static extern void SendData(string data);
void OnMouseDown(){
string data = gameObject.name;
Debug.Log("Sending message to Js: "+ data);
#if UNITY_WEBGL && !UNITY_EDITOR
SendData(data);
#endif
}
我希望将数据放入index.html中的此表
<table>
<tr>
<th class="type">Data</th>
<th>Value</th>
</tr>
<tr>
<td>Name:</td>
<td id="name"></td>
</tr>
<tr>
<td>ID:</td>
<td id="ID"></td>
</tr>
<tr>
<td>PNr:</td>
<td id="PNr"></td>
</tr>
<tr>
<td>Color:</td>
<td id="color"></td>
</tr>
</table>
1条答案
按热度按时间92dk7w1h1#
您可以使用原生JavaScript来处理DOM元素:
在托管代码端:
我使用JSON和一个结构来传递到JS,但是也可以单独传递每个参数,或者创建自己的解析器来代替JSON。
我们应该使用UTF8ToString而不是Pointer_stringify,因为JavaScript函数“Pointer_stringify(ptrToSomeCString)”已过时,并将在未来的Unity版本中删除。
如果你需要更新很多元素,原生JS不是很方便,最好使用JQuery或者其他库。