外部链接
链接到其他场景或外部网站
你可以从你的场景添加指向其他内容的链接,无论是其他场景还是外部网站。
在 Creator Hub 中使用场景编辑器
添加外部链接或传送点最简单的方法是使用场景编辑器。使用 传送 智能物品 来添加前往 Genesis City 中另一个场景的传送,或使用任何 社交链接 智能物品来添加指向外部网站的链接。

传送
要将玩家传送到另一个场景,请调用以下函数,并指定你希望玩家传送到的坐标。
玩家在被传送前会看到确认界面,该界面显示目标场景的 scene.json 文件,包括场景的 名称, 描述 和 navmapThumbnail。参见 场景元数据 ,了解如何设置这些数据的详细信息。
请注意,传送会把你带到指定坐标处的场景,但不一定是那些相同的坐标。这意味着当前往一个包含多个地块的场景时,玩家落点可能不会与指定坐标完全一致,而是会落在该场景创建者指定的某个出生点。
要将玩家移动到当前场景内另一组坐标,请使用 movePlayerTo() 函数。参见 移动玩家.
传送到 WORLD
要将玩家发送到未发布在公开 Genesis City 地图上的场景,而是发送到一个独立的 Decentraland 世界,传入一个 realm 到 teleportTo().
realm 接受一个世界名称,例如 mannakia.dcl.eth,或者一个 realm URL。
如果没有 worldCoordinates,玩家会落在目标地点的某个出生点。添加坐标即可选择该世界中的特定地块:
玩家在切换 realm 前会看到确认界面。它会询问 “你确定要进入这个世界吗?” 并显示目标位置(世界名称或 realm URL 的主机名)。只有在玩家接受后才会被移动。
要将玩家从某个世界送回 Genesis City,请设置 realm 到 'https://realm-provider-ea.decentraland.org/main'.
📔 注意: realm 字段需要 @dcl/sdk 7.28.0 或更新版本。
changeRealm 已弃用
旧场景使用过 changeRealm() 来进入世界。它仍然有效,但请改用 teleportTo({ realm }) 替代。 changeRealm() 也会显示确认界面;其可选的 message 字段只会替换默认提示文本。
changeRealm() 一旦玩家接受提示就会完成,而不是等新 realm 实际上线后才完成。 teleportTo() 紧接着的调用将会针对 旧的 realm 执行,从而把玩家送到错误的位置。 teleportTo({ realm }) 会在一次调用中完成这两个步骤,因此不存在这个间隙。
外部链接
要添加指向外部网站的链接,请使用 openExternalUrl() 命令。
为防止滥用此功能向玩家发送垃圾内容,只能通过 openExternalUrl 在实体上的明确点击或按钮事件中调用。不能通过计时器、碰撞区域或全局点击事件来调用此函数。参见 按钮事件 ,了解如何执行此操作的详细信息。
当 openExternalUrl 调用时,玩家会收到一个确认界面,界面会告知链接将把他们带到哪里,并且他们可以接受或拒绝访问该链接。
链接会在新标签页中打开,同时保留 Decentraland 中的原始标签页。
如果玩家勾选 信任此域 复选框,只要链接来自同一场景并且指向同一域名,他们在本次会话中就不会再次收到提示。
复制到剪贴板
要将字符串复制到玩家的剪贴板,请使用 copyToClipboard()。之后,当玩家在 粘贴 在 Decentraland 聊天或其设备上的任何其他应用中执行粘贴时,粘贴的将是你的字符串。
最后更新于