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));
 

编写完程序,保存。

 

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

这样就完成了。

相关文章
|
5G 网络性能优化 调度
NR 整体架构 | 带你读《5G 空口设计与实践进阶 》之八
每一代移动通信系统,其标志性的技术特征主要在于全新的空口技术。在深入讨论 NR 空中接口的底层设计前,有必要先认识和掌握 NR 无线接口架构。这节主要介绍 NR 的整体架构。
NR 整体架构 | 带你读《5G 空口设计与实践进阶 》之八
|
7月前
|
机器学习/深度学习 数据采集 人工智能
量子计算与人工智能的结合:引领科技革命的前沿
量子计算与人工智能的结合:引领科技革命的前沿
384 13
|
Java 调度
Netty运行原理问题之ChannelHandler在Netty中扮演什么角色
Netty运行原理问题之ChannelHandler在Netty中扮演什么角色
|
消息中间件 Java
springboot整合消息队列——RabbitMQ
springboot整合消息队列——RabbitMQ
278 0
|
Ubuntu Shell Linux
Shell脚本的常用执行方式、bash 和 sh 的关系、子shell、Centos 默认的解析器是 bash、Linux 提供的 Shell 解析器、Shell 概述、Shell 脚本入门
采用 bash 或 sh+脚本的相对路径或绝对路径(不用赋予脚本+x 权限)、采用输入脚本的绝对路径或相对路径执行脚本(必须具有可执行权限+x)、在脚本的路径前加上“.”或者 source(了解)原因: 前两种方式都是在当前 shell 中打开一个子 shell 来执行脚本内容,当脚本内容结束,则 子 shell 关闭,回到父 shell 中。第三种,也就是使用在脚本路径前加“.”或者 source 的方式,`可以使脚本内容在当前 shell 里执行,而无需打开子 shell!`这也是为什么我们每次要修改完
2070 1
Shell脚本的常用执行方式、bash 和 sh 的关系、子shell、Centos 默认的解析器是 bash、Linux 提供的 Shell 解析器、Shell 概述、Shell 脚本入门
|
存储 分布式计算 并行计算
使用Hadoop构建Java大数据分析平台
使用Hadoop构建Java大数据分析平台
|
存储 SQL 关系型数据库
存储系统、数据库和对象存储 | 青训营
存储系统、数据库和对象存储 | 青训营
|
供应链 监控 JavaScript
如何用万界星空科技低代码平台快速开发一个MES系统?
万界星空科技平台作为一款“乐高型”的企业级管理系统平台,其具有高度灵活的“数据+流程+角色”动态信息管理模型。 可以更专业与快速的搭建企业运营所需的各类管理系统,大幅节约研发成本和时间,帮助企业实现全方位的数字化转型;万界星空深耕制造业,专注低代码行业解决方案。
532 0
如何用万界星空科技低代码平台快速开发一个MES系统?
|
Python
启动本地echarts 资源加快 资源加载
启动本地echarts 资源加快 资源加载
110 0
|
存储 C++
四、C++内存管理常见面试题
四、C++内存管理常见面试题
1168 0
四、C++内存管理常见面试题

热门文章

最新文章