黑莓开发新手入门教学帖,如何制作一个能控制LED颜色的程序(五)

2024-04-03 02:08

本文主要是介绍黑莓开发新手入门教学帖,如何制作一个能控制LED颜色的程序(五),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

很久没来更新了,最近老板一来,实在有些忙活,没时间写这个第五篇,今天抽空小小的写一下。

这一课里,主要讲如何实现最后一个DISCO闪LED的功能,简单的讲是随机取值,然后再LED变化。其实会了第四课的内容,这一课应该可以自己做出来了。我做这个功能的时候没有仔细看LED的API,没有看到setColorPattern(int[] pattern, boolean repeat),而仍然用了setColorConfiguration(int onTime, int offTime, int color)的方法,当然需要借用一个计时器Timer.

 

 

class TimerMainEvent extends TimerTask {
    public TimerMainEvent() {
    }

    public void run() {
        if(globel.isrun) {
        if(LED.isPolychromatic()){
                            if (globel.israndom == true) {
                                String tmp = "";
                                int tmpa;
                                Random rndColor = new Random();
                               for (int i=0;i<6;i++)
                              {
                                tmpa = rndColor.nextInt(16);
                                if (tmpa == 10) tmp = tmp + "A";
                                else if (tmpa == 11) tmp = tmp + "B";
                                else if (tmpa == 12) tmp = tmp + "C";
                                else if (tmpa == 13) tmp = tmp + "D";
                                else if (tmpa == 14) tmp = tmp + "E";
                                else if (tmpa == 15) tmp = tmp + "F";
                                else tmp = tmp + tmpa;
                               }
                                LED.setColorConfiguration(150, 150, Integer.parseInt(tmp,16));
                            }
                            else {
                                String tmp2 = "";
                                int tmpa2 = 0;
                                Random rndColor2 = new Random();
                                tmpa2 = rndColor2.nextInt(9);
                                switch (tmpa2) {
                                    case 1: tmp2 = "FF0000";break;
                                    case 2: tmp2 = "FF6100";break;
                                    case 3: tmp2 = "FFFF00";break;
                                    case 4: tmp2 = "00FF00";break;
                                    case 5: tmp2 = "FFFF00";break;
                                    case 6: tmp2 = "0000FF";break;
                                    case 7: tmp2 = "A020F0";break;
                                    case 8: tmp2 = "FFFFFF";break;
                                    default: tmp2 = "FFFFFF";break;
                                }
                                   LED.setColorConfiguration(150, 150, Integer.parseInt(tmp2,16));
                            }
                        }
    }
}
}

代码中上面一部分是随机从000000-FFFFFF从抽取颜色,前面也讲过了,这样的效果不是太好,BB的LED大多时间下会显示接近白色的颜色。

下面一部分则是从红橙黄绿青蓝紫白中随机抽取颜色显示。这样整个LED player的功能都完成了,这一讲没有图片就略了。

下次将说说额外的东西,比如About菜单。

这篇关于黑莓开发新手入门教学帖,如何制作一个能控制LED颜色的程序(五)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/871653

相关文章

用js控制视频播放进度基本示例代码

《用js控制视频播放进度基本示例代码》写前端的时候,很多的时候是需要支持要网页视频播放的功能,下面这篇文章主要给大家介绍了关于用js控制视频播放进度的相关资料,文中通过代码介绍的非常详细,需要的朋友可... 目录前言html部分:JavaScript部分:注意:总结前言在javascript中控制视频播放

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

python+opencv处理颜色之将目标颜色转换实例代码

《python+opencv处理颜色之将目标颜色转换实例代码》OpenCV是一个的跨平台计算机视觉库,可以运行在Linux、Windows和MacOS操作系统上,:本文主要介绍python+ope... 目录下面是代码+ 效果 + 解释转HSV: 关于颜色总是要转HSV的掩膜再标注总结 目标:将红色的部分滤

利用Python开发Markdown表格结构转换为Excel工具

《利用Python开发Markdown表格结构转换为Excel工具》在数据管理和文档编写过程中,我们经常使用Markdown来记录表格数据,但它没有Excel使用方便,所以本文将使用Python编写一... 目录1.完整代码2. 项目概述3. 代码解析3.1 依赖库3.2 GUI 设计3.3 解析 Mark

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件

Python异步编程中asyncio.gather的并发控制详解

《Python异步编程中asyncio.gather的并发控制详解》在Python异步编程生态中,asyncio.gather是并发任务调度的核心工具,本文将通过实际场景和代码示例,展示如何结合信号量... 目录一、asyncio.gather的原始行为解析二、信号量控制法:给并发装上"节流阀"三、进阶控制

使用DrissionPage控制360浏览器的完美解决方案

《使用DrissionPage控制360浏览器的完美解决方案》在网页自动化领域,经常遇到需要保持登录状态、保留Cookie等场景,今天要分享的方案可以完美解决这个问题:使用DrissionPage直接... 目录完整代码引言为什么要使用已有用户数据?核心代码实现1. 导入必要模块2. 关键配置(重点!)3.

基于Python开发批量提取Excel图片的小工具

《基于Python开发批量提取Excel图片的小工具》这篇文章主要为大家详细介绍了如何使用Python中的openpyxl库开发一个小工具,可以实现批量提取Excel图片,有需要的小伙伴可以参考一下... 目前有一个需求,就是批量读取当前目录下所有文件夹里的Excel文件,去获取出Excel文件中的图片,并

SpringSecurity 认证、注销、权限控制功能(注销、记住密码、自定义登入页)

《SpringSecurity认证、注销、权限控制功能(注销、记住密码、自定义登入页)》SpringSecurity是一个强大的Java框架,用于保护应用程序的安全性,它提供了一套全面的安全解决方案... 目录简介认识Spring Security“认证”(Authentication)“授权” (Auth