【教程04】画线其实好简单



掌叔
2009-03-17 19:52:29

摘自:[url]www.iacger.com[/url]
作者:yl_ls

[code=c]#include "libnge2.h"
// 退出标识
int game_quit = 0;
// 按下键处理
void btn_down(int keycode)
{
switch(keycode)
{
case PSP_BUTTON_UP:
break;
case PSP_BUTTON_DOWN:
break;
case PSP_BUTTON_LEFT:
break;
case PSP_BUTTON_RIGHT:
break;
case PSP_BUTTON_TRIANGLE:
break;
case PSP_BUTTON_CIRCLE:
break;
case PSP_BUTTON_CROSS:
break;
case PSP_BUTTON_SQUARE:
break;
case PSP_BUTTON_SELECT:
game_quit = 1;
break;
case PSP_BUTTON_START:
game_quit = 1;
break;
}
}
// 释放键处理
void btn_up(int keycode)
{
switch(keycode)
{
case PSP_BUTTON_UP:
break;
case PSP_BUTTON_DOWN:
break;
case PSP_BUTTON_LEFT:
break;
case PSP_BUTTON_RIGHT:
break;
case PSP_BUTTON_TRIANGLE:
break;
case PSP_BUTTON_CIRCLE:
break;
case PSP_BUTTON_CROSS:
break;
case PSP_BUTTON_SQUARE:
break;
case PSP_BUTTON_SELECT:
game_quit = 1;
break;
case PSP_BUTTON_START:
game_quit = 1;
break;
}
}
// 用户绘图函数
void DrawScene()
{
// 为开始绘图准备
BeginScene(1);
// 通过绘制线产生一个黑白渐变的背景
// 只是说明如何画线,实现渐变背景有更高效的方式
for(int i = 0 ; i < 255 ; i++)
{
DrawLine(0,i,480,i, MAKE_RGBA_8888(255-i,255-i,255-i,0xff), DISPLAY_PIXEL_FORMAT_8888);
}

// 完成绘图并显示
EndScene();
}
extern "C"
int main(int argc, char* argv[])
{

// nge 初始化
NGE_Init(INIT_VIDEO);
// 设置自定义按钮处理函数
InitInput(btn_down,btn_up,1);
while ( !game_quit )
{
// 显示帧数显示
ShowFps();
// 要求 nge2 处理按键,它将使用 InitInput 定义的函数来处理
InputProc();
// 调用用户绘图函数
DrawScene();
}
// nge 退出处理
NGE_Quit();
return 0;
}[/code]
效果图:
[attach]1017[/attach]