int mainloop() { if (game_quit) return NGE_APP_QUIT; ShowFps(); #ifdef NGE_INPUT_HAS_PROC InputProc(); #endif Update(); DrawScene(); LimitFps(60); return NGE_APP_NORMAL; }
int main(int argc, char* argv[]) { //初始化NGE分为VIDEO,AUDIO,这里是只初始化VIDEO,如果初始化所有用INIT_VIDEO|INIT_AUDIO,或者INIT_ALL NGE_Init(INIT_VIDEO); //初始化按键处理btn_down是按下响应,后面是弹起时的响应,0是让nge处理home消息(直接退出),填1就是让PSP系统处理 //home消息,通常填1正常退出(1.50版的自制程序需要填0) InitInput(btn_down,NULL,1); //最后一个参数是psp swizzle优化,通常填1 p_logo = image_load("images/nge2logo.png",DISPLAY_PIXEL_FORMAT_8888,1); if(p_logo == NULL) printf("can not open file\n"); p_par = image_load("par/particles.png",DISPLAY_PIXEL_FORMAT_8888,1); if(p_par == NULL) printf("can not open file\n"); //设置sprite子图 mParticle = (sprite_p)malloc(sizeof(sprite_t)); memset(mParticle,0,sizeof(sprite_t)); mParticle->sprite_image = p_par; mParticle->sprite_clip.left= 0.0f; mParticle->sprite_clip.top= 0.0f; mParticle->sprite_clip.right= 32.0f; mParticle->sprite_clip.bottom = 32.0f; mParticle->sprite_center.x = 16.0f; mParticle->sprite_center.y = 16.0f; mParticleSys = new hgeParticleSystem("par/particle1.psi", mParticle); mParticleSys->MoveTo(480.0f/2, 272.0f/2,0); mParticleSys->Fire(); timer = timer_create(); timer->start(timer); while ( !game_quit ) { ShowFps(); InputProc(); Update(); DrawScene(); LimitFps(60); } image_free(p_logo); image_free(p_par); SAFE_FREE(mParticle); delete mParticleSys; NGE_Quit(); return 0; }