首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Pointer_stringify返回乱码文本

Pointer_stringify返回乱码文本
EN

Stack Overflow用户
提问于 2017-07-04 02:13:34
回答 1查看 1.3K关注 0票数 1

我有以下lib.jslib文件

代码语言:javascript
复制
mergeInto(LibraryManager.library, {
  IsGuestUser: function (objectName, objectMethodName) {
    gamesmart.user.isGuest(function (result) {
      console.log(Pointer_stringify(objectName), Pointer_stringify(objectMethodName), result);
      gameSmartGameInstance.SendMessage(Pointer_stringify(objectName), Pointer_stringify(objectMethodName), result);
    });
  }
});

从这里调用:

代码语言:javascript
复制
namespace GameSmart {
  public class User : API {
    [DllImport("__Internal")]
    public static extern void IsGuestUser(string objectName, string objectMethodName);

    public static void IsGuest(string objectName, string objectMethodName) {
      IsGuestUser(objectName, objectMethodName);
    }
  }
}

并且是这样初始化的:

代码语言:javascript
复制
public class Test : MonoBehaviour {
  void Start() {
    GameSmart.User.IsGuest("GameSmart", "OnIsGuest");
  }
}

如上所述,我将GameSmartOnIsGuest传递给JavaScript,当它到达JavaScript时,我对这两个值调用Pointer_stringify()

当转换并记录时,我得到以下输出:0Zހ ?ﳀ�我应该得到GameSmartOnIsGuest,但是我没有得到是什么导致了这种情况的发生?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-05 23:47:50

因此,解决这个问题的方法是将Pointer_stringify移出匿名函数,使其如下所示:

代码语言:javascript
复制
mergeInto(LibraryManager.library, {
  IsGuestUser: function (objectName, objectMethodName) {
    var jsObjectName = Pointer_stringify(objectName);
    var jsObjectMethodName = Pointer_stringify(objectMethodName);
    gamesmart.user.isGuest(function (result) {
      gameSmartGameInstance.SendMessage(jsObjectName, jsObjectMethodName, result);
    });
  }
});
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44891748

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档