用户:
XYZT查看:1 回复:4 评论:1 创建时间:2024-08-15T16:34:00
想必大家都知道,Kitten·N 的某些新特性是在为函数的跨作品使用做准备(如临时列表,脚本变量等)。
同时,函数的参数类型也趋于多样化,但目前暂未支持颜色类型。
在某些纯画笔作品中,我们希望存在这样的功能,这可以简化代码、增加代码可读性。
在此,我给出一种方案:用一个三元列表来表示一个颜色。 这种方式不仅方便传输和调用,而且方便存储。
顺便提一句,我们不能直接给云变量(Kitten·N暂无,但必然在规划中)赋值一个列表,直接转换成字符串又浪费云空间,我们可以将其转换成hex格式,即"#FF00FF"的形式存储,要用时再转换回去即可。(其实就是简单的进制转换,大家应该都能实现,这里就不再展示了)
虽然[设置画笔颜色()]的框内什么东西都塞不进去,但其下方的[设置画笔 颜色值/饱和度/亮度()]有东西能塞进去,考虑从它入手。经测试,用颜色值&饱和度&亮度三个参数可以唯一确定一种颜色,即HSB或HSV,于是我们可以构建如下函数:

由于编程猫中饱和度&亮度的单位是%,所以参数传入时要乘100。
如果你像我一样,更喜欢用RGB,那你可以定义如下转换函数:
![]()

由于函数头积木不让保存积木图片,这里截图。
包含这些函数的作品已发布并对粉丝开源,网址:shequ.codemao.cn/work/230333354,需要的请自取。