最近在研究C語言LED1608的LED點陣屏幕的顯示。突然想到Flash的ActionScript2好像也支持十六進制數(shù)據(jù),于是心血來潮,編寫了一個純代碼的點陣顯示,算是模擬LED1608的顯示,也算是“產(chǎn)品預告”吧。呵呵。數(shù)據(jù)部分龐大……用C源代碼的一小部分改過來的,花了一個晚上的時間……
上圖!

(改天有時間發(fā)到閃吧上……)
純代碼哦!無需創(chuàng)建任何元件,復制——粘貼即可!
- /*********************************************************
- 編寫人:譚澤睿 At 8-6 23:20
- 程序作用:模擬點陣顯示。
- *******************************************************/
- var chi = Array(0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x04, 0x2F, 0xFE, 0x20, 0xA0, 0x07, 0xFC, 0x04, 0xA4, 0xE7, 0xFC, 0x20, 0x08, 0x23, 0xFC, 0x22, 0x08, 0x23, 0xF8, 0x22, 0x08, 0x23, 0xF8, 0x28, 0x40, 0x37, 0xFE, 0x20, 0x40, 0x00, 0x40, 0x00, 0x00, 0x40, 0x00, 0x33, 0xF8, 0x11, 0x10, 0x00, 0xA0, 0x80, 0x40, 0x60, 0xA0, 0x21, 0x10, 0x0A, 0x4E, 0x15, 0xF4, 0x20, 0x40, 0xE0, 0x40, 0x27, 0xFC, 0x20, 0x40, 0x20, 0x40, 0x20, 0x40, 0x20, 0x40, 0x00, 0x00, 0x01, 0x10, 0x01, 0xF8, 0x41, 0x00, 0x7F, 0xFE, 0x40, 0x02, 0x9F, 0xF4, 0x09, 0x20, 0x32, 0x98, 0x0C, 0x60, 0x3F, 0xF0, 0xD0, 0x1E, 0x1F, 0xF0, 0x10, 0x10, 0x1F, 0xF0, 0x10, 0x10, 0x1F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x7F, 0xFC, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x04, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x09, 0x00, 0x09, 0x04, 0x11, 0xFE, 0x12, 0x80, 0x32, 0x80, 0x54, 0x90, 0x98, 0xF8, 0x10, 0x80, 0x10, 0x80, 0x10, 0x88, 0x10, 0xFC, 0x10, 0x80, 0x10, 0x80, 0x10, 0x80, 0x10, 0x80, 0x00, 0x00, 0x02, 0x00, 0x01, 0x00, 0x7F, 0xFE, 0x40, 0x02, 0x80, 0x14, 0x3F, 0xF8, 0x04, 0x00, 0x08, 0x20, 0x1F, 0xF0, 0x01, 0x10, 0x01, 0x00, 0x1F, 0xF0, 0x01, 0x00, 0x01, 0x08, 0x7F, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x21, 0x08, 0x21, 0x08, 0x21, 0x08, 0x21, 0x08, 0x3F, 0xF8, 0x21, 0x08, 0x01, 0x00, 0x41, 0x04, 0x41, 0x04, 0x41, 0x04, 0x41, 0x04, 0x41, 0x04, 0x7F, 0xFC, 0x40, 0x04, 0x00, 0x00, 0x00, 0x10, 0x1F, 0xF8, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x1F, 0xF0, 0x10, 0x10, 0x02, 0x04, 0x7F, 0xFE, 0x42, 0x84, 0x42, 0x84, 0x42, 0x84, 0x42, 0x84, 0x42, 0x84, 0x7E, 0xFC, 0x42, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x66, 0x00, 0x66, 0x00, 0x66, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x44, 0x27, 0xE4, 0x24, 0x54, 0x85, 0x54, 0x65, 0x54, 0x25, 0x54, 0x0D, 0x54, 0x15, 0x54, 0x25, 0x54, 0xE5, 0x54, 0x21, 0x04, 0x22, 0x84, 0x24, 0x44, 0x28, 0x54, 0x20, 0x08, 0x00, 0x00, 0x00, 0x20, 0x40, 0x28, 0x20, 0x24, 0x20, 0x20, 0x0F, 0xFE, 0x00, 0x20, 0xE0, 0x20, 0x27, 0xE0, 0x21, 0x20, 0x21, 0x10, 0x21, 0x10, 0x21, 0x10, 0x29, 0xD2, 0x37, 0x12, 0x22, 0x0A, 0x00, 0x04, 0x00, 0x00, 0x08, 0x08, 0x48, 0x1C, 0x49, 0xE0, 0x49, 0x00, 0x49, 0x00, 0x7D, 0xFC, 0x41, 0x04, 0x41, 0x48, 0x79, 0x48, 0x49, 0x50, 0x49, 0x30, 0x4A, 0x20, 0x4A, 0x50, 0x4C, 0x8E, 0x89, 0x04, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x08, 0x7F, 0xFC, 0x05, 0x40, 0x05, 0x40, 0x05, 0x40, 0x09, 0x20, 0x09, 0x20, 0x11, 0x10, 0x2F, 0xEE, 0xC1, 0x04, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00);
- var eng = Array(0x7C, 0x82, 0x82, 0x82, 0x7C, 0x00, 0x42, 0xFE, 0x02, 0x00, 0x46, 0x8A, 0x92, 0x92, 0x62, 0x84, 0x82, 0x92, 0xB2, 0xCC, 0x18, 0x28, 0x48, 0xFE, 0x08, 0xE4, 0xA2, 0xA2, 0xA2, 0x9C, 0x3C, 0x52, 0x92, 0x92, 0x8C, 0x80, 0x8E, 0x90, 0xA0, 0xC0, 0x6C, 0x92, 0x92, 0x92, 0x6C, 0x62, 0x92, 0x92, 0x94, 0x78, 0x00, 0x6C, 0x6C, 0x00, 0x00, 0x7E, 0x52, 0x52, 0x7E, 0x00, 0x02, 0xFC, 0xA8, 0xAA, 0xFE, 0x24, 0x2A, 0x2A, 0x1C, 0x02, 0xFE, 0x14, 0x22, 0x22, 0x1C, 0x1C, 0x22, 0x22, 0x22, 0x10, 0x1C, 0x22, 0x22, 0x14, 0xFE, 0x1C, 0x2A, 0x2A, 0x2A, 0x10, 0x10, 0x7E, 0x90, 0x90, 0x40, 0x19, 0x25, 0x25, 0x25, 0x1E, 0xFE, 0x10, 0x20, 0x20, 0x1E, 0x00, 0x00, 0x9E, 0x00, 0x00, 0x00, 0x01, 0x11, 0x9E, 0x00, 0xFE, 0x08, 0x14, 0x22, 0x02, 0x00, 0x82, 0xFE, 0x02, 0x00, 0x1E, 0x20, 0x1E, 0x20, 0x1E, 0x20, 0x1E, 0x20, 0x20, 0x1E, 0x1C, 0x22, 0x22, 0x22, 0x1C, 0x3F, 0x24, 0x24, 0x24, 0x18, 0x18, 0x24, 0x24, 0x24, 0x3F, 0x20, 0x1E, 0x20, 0x20, 0x10, 0x12, 0x2A, 0x2A, 0x2A, 0x24, 0x20, 0xFC, 0x22, 0x22, 0x24, 0x3C, 0x02, 0x02, 0x3C, 0x02, 0x38, 0x04, 0x02, 0x04, 0x38, 0x3C, 0x02, 0x3C, 0x02, 0x3C, 0x22, 0x14, 0x08, 0x14, 0x22, 0x39, 0x05, 0x05, 0x09, 0x3E, 0x22, 0x26, 0x2A, 0x32, 0x22, 0x3E, 0x48, 0x88, 0x48, 0x3E, 0xFE, 0x92, 0x92, 0x92, 0x6C, 0x7C, 0x82, 0x82, 0x82, 0x44, 0xFE, 0x82, 0x82, 0x82, 0x7C, 0xFE, 0x92, 0x92, 0x92, 0x82, 0xFE, 0x90, 0x90, 0x90, 0x80, 0x7C, 0x82, 0x8A, 0x8A, 0x4E, 0xFE, 0x10, 0x10, 0x10, 0xFE, 0x00, 0x82, 0xFE, 0x82, 0x00, 0x04, 0x02, 0x82, 0xFC, 0x80, 0xFE, 0x10, 0x28, 0x44, 0x82, 0xFE, 0x02, 0x02, 0x02, 0x02, 0xFE, 0x40, 0x30, 0x40, 0xFE, 0xFE, 0x20, 0x10, 0x08, 0xFE, 0x7C, 0x82, 0x82, 0x82, 0x7C, 0xFE, 0x90, 0x90, 0x90, 0x60, 0x7C, 0x82, 0x8A, 0x84, 0x7A, 0xFE, 0x90, 0x98, 0x94, 0x62, 0x64, 0x92, 0x92, 0x92, 0x4C, 0x80, 0x80, 0xFE, 0x80, 0x80, 0xFC, 0x02, 0x02, 0x02, 0xFC, 0xF8, 0x04, 0x02, 0x04, 0xF8, 0xFE, 0x04, 0x18, 0x04, 0xFE, 0xC6, 0x28, 0x10, 0x28, 0xC6, 0xC0, 0x20, 0x1E, 0x20, 0xC0, 0x86, 0x8A, 0x92, 0xA2, 0xC2, 0, 0, 0, 0, 0, 0x64, 0xDC, 0x54, 0x7E, 0x54, 0x24, 0x58, 0x12, 0x5E, 0x20, 0xFF, 0xAE, 0xFA, 0xAF, 0xFF, 0x10, 0x10, 0x10, 0x10, 0x10, 0x08, 0x28, 0x28, 0x28, 0x08, 0x22, 0x2A, 0x2A, 0x2A, 0x22, 0x7C, 0x54, 0x64, 0x54, 0x7C, 0x44, 0x54, 0x7C, 0x54, 0x5C, 0x12, 0x14, 0x50, 0x14, 0x12, 0x00, 0x3E, 0x2A, 0x3E, 0x00);
- var ledplay = new Array();
- var logo = Array(65, 65, 55, 55, 10, 7, 5, 4, 8, 2, 9, 4, 6, 6, 65, 58, 64, 56, 65, 57, 32, 33, 16, 21, 27, 65, 65, 50, 43, 42, 1, 6, 0, 8, 65, 65, 51, 13, 16, 17, 65, 21, 26, 41, 20, 21, 26, 13, 65);
- /**********生成點陣************/
- k = 0;
- for (i=0; i<8; i++) {
- for (j=0; j<16; j++) {
- _root.createEmptyMovieClip("led"+i+"_"+j, k);
- d = 4;
- _root["led"+i+"_"+j]._x = 100+j*10;
- _root["led"+i+"_"+j]._y = 100+i*10;
- _root["led"+i+"_"+j].lineStyle(d, 0xff0000, 100);
- _root["led"+i+"_"+j].moveTo(0, 0);
- _root["led"+i+"_"+j].lineTo(d, 0);
- _root["led"+i+"_"+j].lineTo(d, d);
- _root["led"+i+"_"+j].lineTo(0, d);
- _root["led"+i+"_"+j].lineTo(0, 0);
- k++;
- }
- }
- function print2(l, db) {
- var dbs = new Array();
- v = 128;
- for (i=0; i<8; i++) {
- dbs[i] = int(db/v)%2;
- v /= 2;
- }
- for (i=0; i<8; i++) {
- _root["led"+i+"_"+l]._visible = dbs[i];
- }
- }
- for (i=0; i<32; i++) {
- ledplay[i] = 0;
- }
- function print3(h, left, right) {
- var lefts = new Array();
- var rights = new Array();
- v = 128;
- for (i=0; i<8; i++) {
- lefts[i] = int(left/v)%2;
- v /= 2;
- }
- v = 128;
- for (i=0; i<8; i++) {
- rights[i] = int(right/v)%2;
- v /= 2;
- }
- for (j=0; j<8; j++) {
- _root["led"+h+"_"+j]._visible = lefts[j];
- }
- for (j=0; j<8; j++) {
- _root["led"+h+"_"+(j+8)]._visible = rights[j];
- }
- }
- c = 0;
- m = 0;
- p = 0;
- this.onEnterFrame = function() {
- c++;
- if (m == 0) {
- for (n=0; n<8; n++) {
- print3(n, chi[n*2+c*2], chi[n*2+c*2+1]);
- }
- if (c>chi.length/2) {
- m++;
- c = 0;
- k = 0;
- }
- } else if (m == 1) {
- if (c%6 == 0) {
- if (c>=6) {
- c = 0;
- for (i=0; i<24; i++) {
- //位移操作
- if (i<17) {
- ledplay[i] = ledplay[i+6];
- } else {
- ledplay[i] = 0x00;
- }
- }
- for (i=0; i<6; i++) {
- //數(shù)據(jù)操作
- if (i == 5) {
- ledplay[16+i] = 0x00;
- } else {
- ledplay[16+i] = eng[(logo[k]*5)+i];
- }
- }
- trace("\nLEDPLAY:"+ledplay);
- p++;
- if (p == 50) {
- m = 2;
- }
- k++;
- }
- }
- for (q=0; q<16; q++) {
- print2(q, ledplay[q+c]);
- }
- }
- };
復制代碼
|