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

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

3793 0

这一课里,主要讲如何实现最后一个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菜单。

文章评分1次,平均分5.0

本文原始地址:https://www.tiandiyoyo.com/2009/12/%e9%bb%91%e8%8e%93%e5%bc%80%e5%8f%91%e6%96%b0%e6%89%8b%e5%85%a5%e9%97%a8%e6%95%99%e5%ad%a6%e5%b8%96%ef%bc%8c%e5%a6%82%e4%bd%95%e5%88%b6%e4%bd%9c%e4%b8%80%e4%b8%aa%e8%83%bd%e6%8e%a7%e5%88%b6led-5/
本站所有文章,除了特别注明外,均为本站原创,转载请注明出处来自www.tiandiyoyo.com

您可能还会对以下文章感兴趣:

评论前先开启评论开关: