女神异闻录5命运coop:命运档案收藏状态3和5是什么意思-BungieAPI

我正在研究 Bungie API,想知道 Destiny Collectible 的 3 、 5 、 9 、 13 、 65 和 69 状态意味着什么?我无法在Official Bungie API Documentation Page上找到 3 、 5 、 9 、 13 、 65 和 69。它只有 0 、 1 、 2 、 4 、 8 、 16 、 32 和 64 作为状态枚举。

可能是我看错了地方。

URL:https://www.bungie.net/Platform/Destiny2/{membershiptype}/Profile/{destinyMembershipid}/?components=100,102,103,104,200,201,202,204,205,300,301,302,303,304,305,306,307,308,309,310,800,900,1100

我从这里得到的值:Response.profileCollectibles.data.collectibles

任何帮助是赞赏。

1

如文档中所述,返回的state值是一个位掩码。位掩码本质上是一个数字,它使用数字的二进制表示形式充当布尔值。例如,二进制中的数字 5 是0101,这意味着在这个数字表示的 4 个布尔值 (又名标志) 中,第二个和最后一个布尔值 / 标志是真的,第一个和第三个掩码仍然是假的。

要将上下文添加到此响应,以下是使用的值,它们的二进制表示形式及其定义(Bungie.NET API):

 1 - 000 0001 - Not yet acquired/collected
 2 - 000 0010 - Obscured (Use a different hash to display this collectible)
 4 - 000 0100 - Invisible and should not be shown to the user
 8 - 000 1000 - User cannot afford to recreate this collectible
16 - 001 0000 - User doesn't have the inventory space to create this collectible
32 - 010 0000 - The user already has this collectible, and cannot create a second one
64 - 100 0000 - Creating this collectible has been disabled (for whatever reason)

利用位掩码如何工作的知识,我们现在可以推导出在这个列表中找不到的状态的含义。为此,我们需要将我们的状态转换为二进制表示形式,并确定哪些“标志”是活动的。

所以对于状态 13,我们可以将其表示为000 1101

000 1101 - 13 is our returned state!
--------
000 0001 - The collectible hasn't be acquired yet
000 0100 - The collectible is invisible and should not be shown to the user
000 1000 - The collectible is too expensive for the user

您可以使用按位 AND操作(通常表示为单个&)在应用程序中测试这些标志。

let state = 13; // 0b0001101 - Taken from the response JSON
let invisible = 4; // 0b0000100 - You'd probably have this as a global constant
if(state & invisible == invisible) hideThisItemFromPlayer();

就像我上面说的,你可能想要谷歌更多关于比特掩码深入了解他们,但这个运行下来应该给你一个想法。

本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处

(140)
C语言和python先学哪个:Python语法语言和 C++一样快
上一篇
机顶盒中心服务器连接异常:dvb三元组在机顶盒中的用法是什么
下一篇

相关推荐

  • comeandgetyourlove音乐爱就在你身边

    Come and Get Your Love是一首热门的歌曲,由美国摇滚乐队Redbone演唱。这首歌曲于1974年发行,被收录在他们的专辑《Wovoka》中。歌曲以放克曲风为主,旋律活泼,曲调悠扬,歌词朗朗上口,深受歌迷喜爱。…

    2023-06-29 07:47:31
    0 25 25
  • codeblocks无法编译运行:Codeblocks无法编译运行的解决方案

    codeblocks无法编译运行的原因可能有很多,下面以一段简单的C语言代码为例,来说明codeblocks无法编译运行的情况。…

    2023-07-11 08:01:55
    0 96 46
  • gitlab ci 自动化部署:使用 Gitlab CI 自动化部署提升开发效率

    GitLab CI 自动化部署是一种基于 GitLab CI/CD 的自动化部署方案,可以实现快速、可靠的部署流程。它将代码提交、构建、测试、部署等步骤集成在一起,使得开发者可以更加轻松地完成部署工作。下面是一个示例 .gitlab-ci.yml 文件,可以帮助你实现 GitLab CI 自动化部署:…

    2023-05-20 05:45:38
    0 92 59
  • xl和xe汽车cvt:探索XL和XE汽车的CVT技术优势

    XL和XE汽车CVT是一种变速器,它使用液力变矩器代替传统的机械变速器,以达到更高的效率。它的工作原理是,当发动机输出功率时,液力变矩器就会将这些功率转换为液压能量,然后将能量传递到变速器的输出轴上,从而实现变速。…

    2023-05-16 07:36:03
    0 81 61
  • js添加css:This is a Title

    使用js添加css可以通过修改元素的style属性来实现,具体代码如下:…

    2023-05-27 12:30:24
    0 49 15
  • css 字符间距:### 世界上最美的地方

    示例示例CSS 字符间距是指在文本中的字符之间添加间距,以增强文本的可读性。它可以使文本更容易阅读,也可以使文本看起来更美观。代码示例:…

    2023-04-15 08:45:29
    0 39 60
  • git 删除commit记录:回滚Git Commit记录

    git删除commit记录可以使用git reset命令。使用方法:…

    2023-07-07 04:31:44
    0 21 33
  • java实现tcp:使用Java实现TCP网络编程

    TCP(传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层协议。它使用三次握手来建立可靠的连接,并且在数据传输期间可以检测丢失的数据包并重新发送。…

    2023-01-31 10:33:14
    0 94 19

发表评论

登录 后才能评论

评论列表(7条)