Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
JavaScriptObject¶
Inherits: RefCounted < Object
Web 原生 JavaScript 对象的封装类。
Description¶
JavaScriptObject 用于与通过 JavaScriptBridge.get_interface、JavaScriptBridge.create_object 或 JavaScriptBridge.create_callback 检索或创建的 JavaScript 对象进行交互。
示例:
extends Node
var _my_js_callback = JavaScriptBridge.create_callback(myCallback) # 必须保留该引用
var console = JavaScriptBridge.get_interface("console")
func _init():
var buf = JavaScriptBridge.create_object("ArrayBuffer", 10) # 新建 ArrayBuffer(10)
print(buf) # 输出 [JavaScriptObject:OBJECT_ID]
var uint8arr = JavaScriptBridge.create_object("Uint8Array", buf) # 新建 Uint8Array(buf)
uint8arr[1] = 255
prints(uint8arr[1], uint8arr.byteLength) # 输出 255 10
console.log(uint8arr) # prints in browser console "Uint8Array(10) [ 0, 255, 0, 0, 0, 0, 0, 0, 0, 0 ]"
# 等效于 JavaScriptBridge: Array.from(uint8arr).forEach(myCallback)
JavaScriptBridge.get_interface("Array").from(uint8arr).forEach(_my_js_callback)
func myCallback(args):
# 将使用传递给“forEach”回调的参数调用
# [0, 0, [JavaScriptObject:1173]]
# [255, 1, [JavaScriptObject:1173]]
# ...
# [0, 9, [JavaScriptObject:1180]]
print(args)
注意:仅在 Web 平台上可用。