给不会event函数的教程>mg

2011/8/27 22:31:00  人气 705    修改美化论坛  
看到很多网上有那么多关于event的教程,但是还是有很多人不会使用函数。所以偶还是写一个教程,希望你们能够看懂。
――――――
event函数并不难。当你按下某个键、松开某个键、触屏按下、触屏松开、触屏移动,event函数都会被执行一次。并且返回三个参数值,就是msg,p1,p2的值。msg就是按键类型(按下某个键、松开某个键、触屏按下、触屏松开、触屏移动),p1是具体按键(0、1、2、3、4、5、6、7、8、9、*、#、↑、↓、←、→……键)或者触屏的x坐标。p2是触屏的y坐标。根据三个参数值,你就可以判断按键情况了,然后你就可以写上相应功能代码。
――――――
看下面代码慢慢理解吧。它们很相似哦,不过他们运行效果可是不同滴……
(广告时间哈:哈喽酷狗)
――――――
按键事件示例1代码(附件一):
int main(){}//入口函数,必须有,这里没有写任何代码
int event(int msg,int p1,int p2)
{
cls(0,0,0);//清屏为黑色
rect(20,30,40,50,0,255,0);//画矩形
refresh(0,0,SCRW,SCRH);//刷新屏幕
}
那么,运行这个代码会发生什么情况呢?
运行时,由于main函数内无任何代码,所以屏幕不会发生变化。当你按任何一个键时候,event里面的代码就会被执行(执行了几次?一次?想想),也就是在屏幕左上方会出现一个绿色矩形。
――――――
按键事件示例2代码(附件二):
int main(){}
int event(int msg,int p1,int p2)
{
if(msg==KY_UP)//如果松开按键则执行if大括号代码
{
cls(0,0,0);
rect(20,30,40,50,0,255,0);
refresh(0,0,SCRW,SCRH);
}
}
刚运行时屏幕不会发生变化。当你松开(看清楚,是松开哦,当你按下某个键不放开时候有反应不?)任何一个键的时候,在屏幕左上方会出现一个绿色矩形。
――――――
按键事件示例3代码(附件三):
int main(){}
int event(int msg,int p1,int p2)
{
if(msg==KY_UP)//如果松开按键则执行if大括号代码
{
if(p1==_DOWN)//如果按的键是下方向键则执行if大括号代码
{
cls(0,0,0);
rect(20,30,40,50,0,255,0);
refresh(0,0,SCRW,SCRH);//记得刷新哦^_^
}
}
}
刚运行时屏幕不会发生变化。当你松开下方向键(要是按其他键是没有反应哦(^o^))的时候,在屏幕左上方会出现一个绿色矩形。
――――――
答案:
答案一、两次,分别是按下和松开按键时候执行一次event函数。我们每次按键时候,都是先按下然后松开按键,所以一次按键会执行两次event函数,除非你按下键时候立即抠电池出来^_^
答案二、没有反应。因为是你按键松开时候才画矩形的。
(广告时间哈:大家好才是真的好)
――――――
按键事件示例(附件四)
我做的一个选择条模型:
int i;//全局函数,选择条序号
int main()
{
//初始化界面
i=0;
xz(0);
}
int xz(int x)//选择条,x是判断按键情况
{
cls(0,0,0);
if(x==0){i=0;}
if(x==2){i=i-SCRH/10;}
if(x==8){i=i+SCRH/10;}
if(i>SCRH-SCRH/10){i=0;}
if(i<0){i=SCRH-SCRH/10;}
rect(20,i-1,SCRW-40,SCRH/10,0,255,0);
refresh(0,0,SCRW,SCRH);
}
int event(int msg,int p1,int p2)
{
if(msg==KY_DOWN)//按下按键
{
if(p1==_DOWN){xz(8);}//下键
if(p1==_UP){xz(2);}//上键
if(p1==_SRIGHT){exit();}//左软键
}
}
――――――
想实际测试一下上面的代码的效果,那就下载下面的附件吧。
终于写完咯(^o^),好晚呀,凌晨……
by牧歌人
for不会event者

. 绝客。。。!!!!

发表回复

   


  通知楼主

6楼

X`K "承.08-28 08:15
怎么是在ej 转的?

回复只看TA

5楼

X`K "承.08-28 08:14
怎么是ej 转的

回复只看TA

4楼

☆绝情轩、猫儿+>>.08-28 05:58
早会了,你恐怕还不会吧

回复只看TA

地板

『「酷拽』」游乐.08-27 22:53
顶你个肺啊

回复只看TA