黑莓开发新手入门教学帖,如何制作一个能控制LED颜色的程序(五)
2009-12-04 10:34
781 查看
很久没来更新了,最近老板一来,实在有些忙活,没时间写这个第五篇,今天抽空小小的写一下。
这一课里,主要讲如何实现最后一个DISCO闪LED的功能,简单的讲是随机取值,然后再LED变化。其实会了第四课的内容,这一课应该可以自己做出来了。我做这个功能的时候没有仔细看LED的API,没有看到
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菜单。
这一课里,主要讲如何实现最后一个DISCO闪LED的功能,简单的讲是随机取值,然后再LED变化。其实会了第四课的内容,这一课应该可以自己做出来了。我做这个功能的时候没有仔细看LED的API,没有看到
, boolean)]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颜色的程序(四)
- 黑莓开发新手入门教学帖,如何制作一个能控制LED颜色的程序(一)
- 黑莓开发新手入门教学帖,如何制作一个能控制LED颜色的程序(三)
- 黑莓开发新手入门教学帖,如何制作一个能控制LED颜色的程序(六)
- 黑莓开发新手入门教学帖,如何制作一个能控制LED颜色的程序(二)
- 黑莓开发:怎么样制作一个TreeField
- cocos2d x 入门学习(三)如何制作一个塔防游戏 Cocos2d-x 2.0.4
- 开发宝典:程序开发新手入门之Jave ME
- 用一个例子来说明程序开发过程中的粒度和弹性控制
- 如何制作一个没有任何窗体的,隐藏在后台的程序。
- inno setup软件--教你如何制作一个漂亮的安装程序
- 如何入门微信小程序开发
- 如何开发一个Server-Client模型的程序
- 如何为一个 .net 的 Web Application 制作一个安装程序
- J2ME程序开发新手入门要领
- J2ME程序开发新手入门要领
- scala 开发入门(2)-- 程序控制结构
- scala 开发入门(2)-- 程序控制结构
- scala 开发入门(2)-- 程序控制结构
- 开发宝典:程序开发新手入门之D语言