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
继承: RefCounted < Object
Web 原生 JavaScript 对象的封装类。
描述
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”
# 在浏览器控制台中输出“Uint8Array(10) [ 0, 255, 0, 0, 0, 0, 0, 0, 0, 0 ]”
console.log(uint8arr)
# 等效于 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 平台上可用。