• 需要在页面调用godot内容

    # 创建godot的JavaScript Callback对象
    var _onJavascriptCallback = JavaScript.create_callback(self, "_on_js_callback")
    
    # 在页面创建与godot交互的接口
    if OS.has_feature("Javascript") or OS.has_feature("HTML5"):
      JavaScript.eval("""
                window.godotApi = window.godotApi?window.godotApi:new Object();
                window._setGodotCallback = function(name,callback){
                    window.godotApi[name] = callback
                }
      """)
    
    # 绑定godot方法到页面js
    JavaScript.get_interface("_setGodotCallback").call("godotApi","godotDoSomething",_onJavascriptCallback)
    

    实际执行的godot方法,注意参数args不能省,不然页面调用不了

# args相当于js的arguments
func _onJavascriptCallback(args):
    # 可以选择传信号到MainScene 以便使用其他节点的内容
    emit_signal("Javascirpt_Signal")
  • 需要在godot调用页面内容
    直接JavaScript.eval,将参数转为字符串传入即可

papermoon
6 声望0 粉丝