先来看效果图:
步骤:
需要两部分,一个是Plugin插件部分,另一个是ssRender界面显示部分。
一、Plugin插件部分
原理:在Plugin中启动一个线程,在线程中让变量循环自增,在ssRender界面让图片的source属性跟随Plugin变量绑定,实现风扇转动。
1.1 在fun.h头文件中添加两个属性:start和flag
start:用于控制风扇的序列帧;flag:用于控制风扇的开关。
1.2在fun.cpp源文件中
在updataDate函数中对start属性进行自加,大于11时从0重新开始;
获取flag属性的值,开关为开,flag值为1,开始dataSource->updateData;开关为关,flag值为0,停止。
二、ssRender界面显示部分
1.开关状态--滑动开关
1.1在Project窗口,创建一个Item,重新命名为ButtonBG,在该Item节点下再创建一个Button按钮,用于滑块的移动。
1.2选择Button按钮,在Interaction窗口,Events标签,点击New Event按钮,弹出Event界面,Event选择Click,OnEvent编辑器中输入:
var a = {$./X}
(a==0)setProperty:{$./SliderX}=62 //SliderX为自定义属性
(a==0)setProperty:{$../../../Fun/flag}=1 //Fun插件的flag属性
(a==62)setProperty:{$./SliderX}=0
(a==62)setProperty:{$../../../Fun/flag}=0
2.风扇转动
利用刷图的方式来实现风扇片的转动。
2.1在Resource窗口Image标签,New Image添加风扇转动的序列帧图片。
2.2 在Project窗口,Layer节点下创建一个Item0节点;开始进行绑定,选定Item0节点,在Properites窗口,点击Source属性右侧的绑定按钮,弹出Binding界面,在Binding界面,Expression编辑器中输入:
var a = {$../../Fun/start} //选择Fun插件节点,拖拽start属性至此
(a+1)+".png" //实现风扇的转动图片