点阵移动方法集锦
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
我的空间有程序,你去看看,有十几种移动方法
屏幕点阵数的话也可以随时改动的
/*************呈现各种显示效果的函数集****************/
void flash_bai(uchar *flash_word,uchar flash_heard,uchar number,uchar sdu,uchar state)
{register uchar i,j,l;
for(i=0;i { for(j=0;j<16;j++) { for(l=0;l<8;l++) { if(j<8) { dispram[l*4+1]=dispram[l*4+1]&0xff< dispram[l*4+2]=dispram[l*4+2]&0xff>>j|(flash_word[(flash_heard+i)*32+l*4+3] <<(7-j)&0x10); } else { dispram[l*4] =dispram[l*4]&0xff<<(j-7)|flash_word[(flash_heard+i)*32+l*4]>>(15-j); dispram[l*4+1]=flash_word[(flash_heard+i)*32+l*4]<<(j-7)|(flash_word[(flash_h eard+i)*32+l*4+1]>>(15-j)); dispram[l*4+2]=flash_word[(flash_heard+i)*32+l*4+2]<<(15-j)|(flash_word[(flas h_heard+i)*32+l*4+3]>>(j-7)); dispram[l*4+3]=(dispram[l*4+3]&0xff>>(j-7))|flash_word[(flash_heard+i)*32+l* 4+3]<<(15-j); } } delay(sdu*SPEED); } delay(state*SPEED); } } /*******************霓虹灯效果************************/ void flash(uchar *flash_word,uchar flash_heard,uchar number,uchar sdu,uchar state) {register uchar i,j,k,l; for(i=0;i { for(j=0;j<=16;j++) { for(k=17;k>j;k--) { for(l=0;l<16;l++) { if(j>8) { dispram[l*2] =1<<(8-k+j)|(flash_word[(flash_heard+i)*32+l*2]&0xff>>(16-j)); dispram[l*2+1]=flash_word[(flash_heard+i)*32+l*2+1]; } else { dispram[l*2]=1<<(8-k+j); dispram[l*2+1]=1<<(16-k+j)|(flash_word[(flash_heard+i)*32+l*2+1]&0xff>>(8-j) ); } } delay(sdu*SPEED); } for(k=17;k>j;k--) { for(l=0;l<16;l++) { if(j>8) { dispram[l*2]=1<<(k-8)|(flash_word[(flash_heard+i)*32+l*2]&0xff>>(16-j)); } else { dispram[l*2]=1<<(k-8); dispram[l*2+1]=1< } } delay(sdu*SPEED); } } delay(state*SPEED); } } /*******************跳动的米奇*********************/ void miqi_jump(void) {register uchar jump_i; while((receive[1]&0x0f)<2)// { switch (timer/3650) { case 0:for(jump_i=0;jump_i<16;jump_i++) { dispram[jump_i*2] = word1[11][jump_i*2]<<1|word1[11][jump_i*2+1]>>7; dispram[jump_i*2+1] = word1[11][jump_i*2+1]<<1;//左移 }break; case 1:for(jump_i=0;jump_i<15;jump_i++) { dispram[jump_i*2+2] = word1[11][jump_i*2]; dispram[jump_i*2+3] = word1[11][jump_i*2+1]; } dispram[0] = 0; dispram[1] = 0; break;//下移 case 2:for(jump_i=0;jump_i<16;jump_i++) { dispram[jump_i*2+1] = word1[11][jump_i*2+1]>>1|word1[11][jump_i*2]<<7; dispram[jump_i*2] = word1[11][jump_i*2]>>1; }break;//右移 case 3:for(jump_i=0;jump_i<15;jump_i++) { dispram[jump_i*2] = word1[11][jump_i*2+2]; dispram[jump_i*2+1] = word1[11][jump_i*2+3]; } dispram[30] = 0; dispram[31] = 0; break;//上移 case 4: for(jump_i=0;jump_i<15;jump_i++) { dispram[jump_i*2+2] = word1[11][jump_i*2]<<1|word1[11][jump_i*2+1]>>7; dispram[jump_i*2+3] = word1[11][jump_i*2+1]<<1;//左移 } dispram[0] = 0;