You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Lens Studio技术咨询:如何获取点击图片的名称或属性?

在Lens Studio中用JavaScript保存点击图片的信息

步骤1:给图片添加交互支持

选中场景里的每个可点击图片对象,完成以下设置:

  • 在Inspector面板勾选Interactable,确保图片能响应点击。
  • 给图片添加Tap Trigger组件(右键对象 → Add Component → Interaction → Tap Trigger),用于触发点击事件。
  • 给图片添加Script组件,绑定自定义JS代码。

步骤2:定义全局存储变量(可选,跨脚本共享用)

如果需要在多个脚本里访问点击信息,可创建全局数据脚本:

  1. 在Resources文件夹新建GlobalData.js,内容如下:
// 存储最后一次点击的图片信息
export let lastClickedImage = null;
// 存储所有点击历史的数组
export let clickedImagesHistory = [];

步骤3:编写点击事件处理脚本

给每个可点击图片绑定如下脚本(可直接复制到图片的Script组件,或作为通用脚本挂载):

// 导入全局变量(无需跨脚本共享可跳过此行,直接在脚本内定义变量)
import { lastClickedImage, clickedImagesHistory } from './GlobalData';

// 获取当前图片的场景对象
const currentImage = script.getSceneObject();

// 监听Tap点击事件
script.createEvent("TapEvent").bind(() => {
    // 组装要保存的图片信息,按需自定义字段
    const imageInfo = {
        name: currentImage.name, // 图片对象名称
        id: currentImage.id,     // 对象唯一ID
        customTag: currentImage.getCustomData("imageTag") // 自定义属性(需先在Inspector添加)
    };

    // 更新全局变量
    lastClickedImage = imageInfo;
    clickedImagesHistory.push(imageInfo);

    // 控制台调试(可选)
    print(`点击了图片:${imageInfo.name}`);
    print(`累计点击次数:${clickedImagesHistory.length}`);
});

步骤4:验证与使用存储的信息

如果要在UI等地方展示点击信息,可编写读取脚本:

import { lastClickedImage } from './GlobalData';

// 获取UI文本组件
const displayText = script.getSceneObject().getComponent("Text");

// 实时更新文本显示
script.createEvent("UpdateEvent").bind(() => {
    if (lastClickedImage) {
        displayText.text = `最后点击:${lastClickedImage.name}`;
    } else {
        displayText.text = "未点击任何图片";
    }
});

注意事项

  • 必须开启图片对象的Interactable,否则点击事件不会触发。
  • 自定义属性imageTag需要提前在图片Inspector面板添加(点击Add Custom Data,选择类型后设置键名和值)。
  • 无需跨脚本共享时,可直接在单个脚本内定义变量,不用创建GlobalData.js。

内容的提问来源于stack exchange,提问作者Edanur Akbas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 21:20:27