AC.BiologyMicroscopeCtrl

显微镜扩展(AgentComponent_VLabBiologyMicroscopeCtrl)

0、显微镜原文档

https://wiki.doc.101.com/index.php?title=%E8%99%9A%E6%8B%9F%E5%AE%9E%E9%AA%8C%E5%AE%A4-%E5%85%AC%E5%85%B1%E7%BB%84%E4%BB%B6-%E7%94%9F%E7%89%A9%E6%98%BE%E5%BE%AE%E9%95%9C%E7%BB%84%E4%BB%B6

1、修改成像资源

ImageFormingResource GetImageFormingResource(int microscopeid)

简要说明

获得显微镜的成像资源(初始化后,调用一次,保存返回的引用即可)

参数

参数名 类型 说明
microscopeid int 显微镜ID

返回值

类型 说明
ImageFormingResource 成像资源

Example

local imageFormingResource = self.VLabBiologyMicroscopeCtrl:GetImageFormingResource(self.mscId)

2、成像效果

void SetFlip(int microscopeid, bool horizontal, bool vertical)

简要说明

翻转效果

参数

参数名 类型 说明
microscopeid int 显微镜ID
horizontal bool 水平翻转
vertical bool 垂直翻转

Example

self.VLabBiologyMicroscopeCtrl:SetFlip(self.mscId, true, true)

3、Effect

if Input.GetKeyDown("y") then
    -- 添加Effect
    self.maskEffectId = self.VLabBiologyMicroscopeCtrl:AddEffect(self.mscId, "Mark")
end
if Input.GetKeyDown("e") then
    -- 获取Effect
    local effect = self.VLabBiologyMicroscopeCtrl:GetEffect(self.mscId, self.maskEffectId)
    -- 设置Focus
    effect:IsFocus(true)
end
if Input.GetKeyDown("r") then
    local effect = self.VLabBiologyMicroscopeCtrl:GetEffect(self.mscId, self.maskEffectId)
    effect:IsFocus(false)
end
if Input.GetKeyDown("q") then
    local effect = self.VLabBiologyMicroscopeCtrl:GetEffect(self.mscId, self.maskEffectId)
    -- 获取灰度值
    pt(effect:GetGray(Vector2(0.55, 0.55)))
end
if Input.GetKeyDown("t") then
    -- 删除Effect
    self.VLabBiologyMicroscopeCtrl:RemoveEffect(self.mscId, self.maskEffectId)
end
if Input.GetKeyDown("z") then
    -- 显示Effect
    self.VLabBiologyMicroscopeCtrl:SetEffectActive(self.mscId, self.maskEffectId, true)
end
if Input.GetKeyDown("x") then
    -- 隐藏Effect
    self.VLabBiologyMicroscopeCtrl:SetEffectActive(self.mscId, self.maskEffectId, false)
end

int AddEffect(int microscopeid, string type)

简要说明

添加特殊效果(SetObserve函数调用后需重新调用)

参数

参数名 类型 说明
microscopeid int 显微镜ID
type string 类型(可选:”Mark”)

返回值

类型 说明
int Effect id

效果类型

type

  • Mask

目前仅支持静态图与动态图。
静态图需要传入1张1*256的颜色对应图和1张蒙版图片、动态图则需要传入1张1*256的颜色对应图和9张蒙版图片。
ps:颜色对应图的路径应该放在第一个,其它的图的路径应在其后按顺序排列。
其中动态图的蒙版路径传入时,需要按照从左到右,从下往上的顺序(如下)排列。

7 | 8 | 9
4 | 5 | 6
1 | 2 | 3

void SetEffectActive(int microscopeid, int effectId, bool b)

简要说明

设置特效是否启用

参数

参数名 类型 说明
microscopeid int 显微镜ID
effectId int Effect id
b bool 是否显示

object GetEffect(int microscopeid, int effectId)

简要说明

获取Effect

参数

参数名 类型 说明
microscopeid int 显微镜ID
effectId int Effect id

返回值

类型 说明
object Effect

可调用函数

void IsFocus(bool b)
int GetGray(Vector2 position)

void RemoveEffect(int microscopeid, int effectId)

简要说明

删除特效

参数

参数名 类型 说明
microscopeid int 显微镜ID
effectId int Effect id