先附上git地址
https://github.com/huqiang0204/huqiang.UnitySubThreadUI
可以在面板中快捷創(chuàng)建調色板,右鍵菜單->UIComposite-UIPalette
public Action<UIPalette> ColorChanged;//當調色板中的顏色被改變時觸發(fā)
public Action<UIPalette> TemplateChanged;//當調色板基色板被改變時觸發(fā)
class View
? ? {
? ? ? ? public Paint draw;//使用RawImage反射一個繪圖板
? ? ? ? public UIPalette Palette;
? ? ? ? public RawImageElement color;
? ? ? ? public TextElement tip;
? ? ? ? public UISlider sizeS;
? ? ? ? public EventCallBack mod0;
? ? ? ? public EventCallBack mod1;
? ? ? ? public EventCallBack mod2;
? ? }
? ? View view;
? ? public override void Initial(ModelElement parent, object dat = null)
? ? {
? ? ? ? model = ModelManagerUI.CloneModel("baseUI", "drawing");
? ? ? ? base.Initial(parent, dat);
? ? ? ? view = model.ComponentReflection<View>();
? ? ? ? view.Palette.TemplateChanged = view.Palette.ColorChanged = (o) => {
? ? ? ? ? ? view.draw.BrushColor = o.SelectColor;
? ? ? ? ? ? view.color.color = o.SelectColor;
? ? ? ? };
? ? ? ? view.sizeS.OnValueChanged = (o) => {
? ? ? ? ? ? float a = o.Percentage * 78;
? ? ? ? ? ? a+=2;
? ? ? ? ? ? view.draw.BrushSize = a;
? ? ? ? ? ? view.tip.text = "畫筆尺寸:"+a.ToString();
? ? ? ? };
? ? ? ? view.mod0.Click = (o, e) => { view.draw.drawModel = Paint.DrawModel.Brush; };
? ? ? ? view.mod1.Click = (o, e) => { view.draw.drawModel = Paint.DrawModel.Scale; };
? ? ? ? view.mod2.Click = (o, e) => { view.draw.drawModel = Paint.DrawModel.Rotate; };
? ? }
繪圖板還可注冊多點觸控事件,進行旋轉和縮放零院,事件系統(tǒng)后面再做介紹
效果如下