[开发者心得] TS代码调用吸管与脚本自定义属性

[复制链接]
1097 |7
喵喵哭唧唧 发表于 2023-3-6 18:21:06 | 显示全部楼层 |阅读模式
本帖最后由 哭唧唧的细狗 于 2023-11-21 15:30 编辑

吸~吸管?感觉好怪
老规矩,我们先来看一看效果


看图说话,通过点击设置了吸管的脚本下的吸管按钮,鼠标变成了吸管状,并且“bia叽~”的点击指到的对象后,吸管相关的属性会获取到对象的guid
好耶~那该怎么做呢?


// capture: 捕获其他属性
// 自定义属性里增加capture后就完成了吸管的声明了,没错,就这么简单
@Property({ capture: true, displayName: "guid", group: "分组" })

哪些可以被吸?
场景中,没有被锁(场景对象右边有个小锁图标,点击了就锁上了),可以看见的对象,大多数都能被吸管吸到
至于哪些不能被吸
你的探索精神呢(倒打一耙模式启动

脚本自定义属性

到底有哪些玩法让大爷瞅瞅

属性里提供了:包括不限于string,bool,vector,vector2,vector4,rotation,LinearColor,array,asset,class等类型的处理

image.png



@Serializable
class hahaClass {
    @Property({ displayName: "名字" })
    miaomiao: string = ""

    @Property({ displayName: "数字" })
    miaomiaoNum: number = 1
}

enum TestEnum { key1 = 1, key2 }

@Component
export default class haha extends Script {
    // capture: 捕获其他属性
    // 自定义属性里增加capture后就完成了吸管的声明了,没错,就这么简单
    @Property({ capture: true, displayName: "guid", group: "分组" })
    haha: string = ""
    @Property({ displayName: "数字", group: "分组" })
    userStuserNumber: number = 1234567890;
    @Property({ displayName: "布尔值", group: "分组" })
    userBoolean: boolean = false;
    @Property({ displayName: "vector", group: "分组" })
    userV: Vector = Vector.zero;
    @Property({ displayName: "vector2", group: "分组" })
    userV2: Vector2 = Vector2.zero;
    @Property({ displayName: "vector4", group: "分组" })
    userV4: Vector4 = Vector4.zero;
    @Property({ displayName: "rotation", group: "分组" })
    userRotation: Rotation = Rotation.zero;
    @Property({ displayName: "取颜板", group: "分组" })
    userLinearColor: LinearColor = LinearColor.green;
    @Property({ displayName: "数组", group: "分组", arrayDefault: [1, 2, 3, 4] })
    userArray = [1, 2, 3, 4, 5];
    @Property({ displayName: "枚举值", group: "分组", enumType: TestEnum })
    userVal = TestEnum.key1;
    @Property({ displayName: "资源", group: "分组", asset: null })
    userObject = "";
    @Property({ displayName: "类" })
    hahaC: hahaClass = new hahaClass()

    @Property({ displayName: "范围选择", range: {min: 0, max: 100, showSlider: true}})
    private range : number = 90

}


在哪可以看到这些属性呢

image.png

当代码中打出了@Property后,右键Property,会弹出定义代码窗口


image.png

双击定义窗口


image.png

这时候代码跳转到了Property定义的地方,此时我们右键IPropertyOptions并转到定义

image.png

后续想要了解信息都是一葫芦画瓢~



喵喵喵,大爷,大概就是这样的,您还有什么要求。

小厮服务不错,让我瞧瞧代码哈

大爷我要消化1分钟,你可以退下了

得嘞,您细品

关键字:Property、displayName

更多图片 小图 大图
组图打开中,请稍候......
回复

使用道具 举报

叽里咕噜小胡桃 发表于 2023-3-6 18:22:23 | 显示全部楼层
大哥大哥~ 吸管都能吸哪些东西啊 只能吸场景里的gameobject嘛?
回复

使用道具 举报

喵喵哭唧唧楼主 发表于 2023-3-6 18:25:45 | 显示全部楼层
叽里咕噜小胡桃  发表于 2023-3-6 18:22
大哥大哥~ 吸管都能吸哪些东西啊 只能吸场景里的gameobject嘛?

报告大爷~你来加,我也不知道(生气中,喵唧卟
回复

使用道具 举报

叽里咕噜小胡桃 发表于 2023-3-6 18:38:24 | 显示全部楼层

吸吸need
img_v2_7863c1a5-e954-4451-ab25-15d4c38289fg.jpg
v2_246b8107-01a1-4f1f-a5a8-097a4387066g.jpg

回复

使用道具 举报

吃到苦就是得到了甜 发表于 2023-3-7 07:24:12 来自手机 | 显示全部楼层
🤩🤩🤩我来学习了
回复

使用道具 举报

空伊伊 发表于 2023-3-16 17:03:39 | 显示全部楼层
经验!
回复

使用道具 举报

空伊伊 发表于 2023-3-16 17:03:43 | 显示全部楼层
经验!
回复

使用道具 举报

空伊伊 发表于 2023-3-16 17:07:17 | 显示全部楼层
试一试连点
回复

使用道具 举报

热门版块
快速回复 返回顶部 返回列表