kanzi指针旋转效果实现

简介: 下面开始讲解如何实现如下指针转动的效果: 1.导入图片相关素材。已经导入的素材位置 /Tutorials/Demo/Assets.手动调节如下来调整大小。


下面开始讲解如何实现如下指针转动的效果:

 

1.导入图片相关素材。

已经导入的素材位置 <KanziWorkspace>/Tutorials/Demo/Assets.

手动调节如下来调整大小。

2.添加定时器触发

timer的触发设置:

用脚本来响应触发,

3.脚本程序编写:

 
// Get the SpeedNeedle node.
var speedNeedleNode = node.lookupNode('#SpeedNeedle');
// Set the highest value for the speed needle.
var maxSpeed = 240;
// Set the number of seconds it takes for the needle to go from the lowes to the highest value and back
var cycleTimeSpeed = 10;
var timeOffsetSpeed = 0;

var fuelNeedleNode = node.lookupNode('#FuelNeedle');
var maxFuel = 100;
var cycleTimeFuel = 10;
var timeOffsetFuel = 3;

var batteryNeedleNode = node.lookupNode('#BatteryNeedle');
var maxBattery = 100;
var cycleTimeBattery = 10;
var timeOffsetBattery = 0;

function calculateNeedlePosition (maxValue, cycleTime, timeOffset)
{
    var halfCycleTime = cycleTime / 2;
    var now = (Date.now() + timeOffset * 1000) / 1000;
    
    var needleValue = 0;
    var percentOfHalfCycle = (now % halfCycleTime) / halfCycleTime;
    if (now % cycleTime < halfCycleTime)
    {
        needleValue = maxValue * percentOfHalfCycle;
    }
    else
    {
        needleValue = maxValue - maxValue * percentOfHalfCycle;
    }
    
    return needleValue;
}

speedNeedleNode.setProperty('Demo.Speed', calculateNeedlePosition(maxSpeed, cycleTimeSpeed, timeOffsetSpeed));
fuelNeedleNode.setProperty('Demo.Fuel', calculateNeedlePosition(maxFuel, cycleTimeFuel, timeOffsetFuel));
batteryNeedleNode.setProperty('Demo.Battery', calculateNeedlePosition(maxBattery, cycleTimeBattery, timeOffsetBattery));
 

编写完程序,保存。

 

 在下面的路径下可以找到自己所保存的程序。

这样就完成了。

相关文章
|
7月前
|
人工智能 移动开发
指针-矩阵变换
指针-矩阵变换
|
9月前
指针-求凸多边面积
指针-求凸多边面积
|
10月前
|
C语言
一篇文章搞定字符串的旋转问题(数组旋转问题)!
一篇文章搞定字符串的旋转问题(数组旋转问题)!
54 0
|
10月前
|
Java
判断顶点凹凸性、判断多边形的凹凸性、填充凹坑将凹多边形处理为凸多边形【java实现+原理讲解】
判断顶点凹凸性、判断多边形的凹凸性、填充凹坑将凹多边形处理为凸多边形【java实现+原理讲解】
149 0
判断顶点凹凸性、判断多边形的凹凸性、填充凹坑将凹多边形处理为凸多边形【java实现+原理讲解】
|
测试技术
LeetCode——396. 旋转函数
LeetCode——396. 旋转函数
59 0
LeetCode——396. 旋转函数
|
机器学习/深度学习
N*N矩阵的旋转 不开辟新空间
N*N矩阵的旋转 不开辟新空间
|
存储 算法
重构链表(反转、交换与旋转)
重构链表(反转、交换与旋转)
重构链表(反转、交换与旋转)
左旋转、右旋转、双旋
左旋转、右旋转、双旋
119 0
左旋转、右旋转、双旋
LeetCode——K个一组翻转链表(三指针)
LeetCode——K个一组翻转链表(三指针)
172 0
LeetCode——K个一组翻转链表(三指针)
|
JavaScript
Dom中偏移父节点及偏移位置
Dom中偏移父节点及偏移位置
123 0
Dom中偏移父节点及偏移位置