使用多个参数触发 Incisor 应用程序事件时遇到问题

问题描述 投票:0回答:1

我在触发具有多个参数的 Incisor 应用程序事件时遇到问题。

控制台输出:

spinResult 定义

添加了 spinResult 回调

5

未定义(我希望这读作“7777”)

TestAppEvent:代码验证失败:“string=”期望参数“string”为“string”类型,但提供了“undefined”类型。

如何在回调函数中获得多个可用参数?

class ProjectMain
{
    init()
    {
        this.text = new TextAssembly();
        this.text.string = "Build It Once.";

    // Define the event here
        nc.defineAppEvent("spinResult");
        console.log("spinResult Defined");

    // Add the callback for the "spinResult" event
        nc.appEvents.spinResult.addCallback(this, "spinResultCallback");
        console.log("spinResult Callback Added");

    // Trigger the event with multiple arguments
        nc.appEvents.spinResult.trigger(5, "7777");
    }


    /**
    * spinResultCallback
    */
    spinResultCallback(resultData, message)
    {
        console.log(resultData);
        console.log(message);// this should read "7777"
        
        this.text.string = message;

    }
}
javascript game-development incisor
1个回答
0
投票

您面临的问题是由于您的触发器调用 spinResult.trigger() 造成的。触发函数仅接受一个参数。如果您想向回调提供多个参数,可以将它们以数组形式发送。

例如: 纠正此问题的触发线应如下所示:

nc.appEvents.spinResult.trigger( [5, "7777"] ); // 将 args 作为数组传入

© www.soinside.com 2019 - 2024. All rights reserved.