sys_set.c
来自「redboy for gba 是BPNS为GBA编写的一个小软件。软件的邹形是B」· C语言 代码 · 共 59 行
C
59 行
#include <CsAgb.h>
#include <graph.h>
#include <Qgraph.h>
#include <rb_stdio.h>
extern void key_delay_set(u32 *M,u8 act);
u32 KeyDelayCnt;
void readkey()
{
u32 i,j;
for (i=0;i<KeyDelayCnt;i++)
for (j=0;j<10000;j++) j++;
CS_ReadKey();
}
void get_keydelay()
{
key_delay_set(&KeyDelayCnt,2);
if (KeyDelayCnt>=400) KeyDelayCnt=40;
}
void set_keydelay()//设置读键延时
{
u8 done=1;
u32 temp=KeyDelayCnt;
if (KeyDelayCnt%40) KeyDelayCnt=0;
r_box(41,32,201,101,0,0);
Q_box(40,30,200,100,RGB(27,27,26));
r_box(40,30,200,100,RGB(30,30,30),0);
Q_box(41,31,199,45,RGB(3,7,15));
r_line(41,46,199,46,RGB(30,30,30),1);
cwrite(42,33,RGB(30,30,30),"按键延时设置");
cwrite(45,73,RGB(3,7,15),"A :确 定 B :取 消");
cwrite(45,87,RGB(3,7,15),"UP :延时减 DOWN:延时增");
r_box(45,55,195,70,RGB(3,7,15),0);
while (1)
{
readkey();
if (CS_IsKeyDown(KEY_UP)||CS_IsKeyDown(KEY_LEFT))
{
if (KeyDelayCnt) {KeyDelayCnt-=40;done=1;}
}
else if(CS_IsKeyDown(KEY_DOWN)||CS_IsKeyDown(KEY_RIGHT))
{
if (KeyDelayCnt<400) {KeyDelayCnt+=40;done=1;}
}
else if(CS_IsKeyDown(KEY_A)) {key_delay_set(&KeyDelayCnt,1);return;}
else if(CS_IsKeyDown(KEY_B)) {KeyDelayCnt=temp;return;}
if (done)
{
Q_box(46,56,194,69,RGB(25,25,25));
Q_box(46,56,46+149*KeyDelayCnt/400,69,RGB(3,7,15));
done=0;
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?