示例#1
0
文件: main.c 项目: edub13/plataforma
int Init(App* app) { // Inicializar SDL
    if(SDL_Init(SDL_INIT_VIDEO) != 0) // Verificar se a SDL inicializou
        return 1;
	// Criar Janela
    app->window = SDL_CreateWindow(WINDOW_TITLE, SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, WINDOW_WIDTH, WINDOW_HEIGHT, 0);
    if(!app->window) { // Verificar se a janela foi criada
        printf("Error creating window : %s", SDL_GetError());
        return 2;
    }
	// Criar renderizador
    app->renderer = SDL_CreateRenderer(app->window, -1, 0);
    if(!app->renderer) {
        printf("Error creating window renderer : %s\n", SDL_GetError());
        return 3;
    }
	// Carregar imagens
    app->resources.images.player   = LoadIMG("player.png",     app->renderer);
    app->resources.images.ground   = LoadIMG("ground.png",     app->renderer);
    app->resources.images.platform = LoadIMG("platform.png",   app->renderer);
	// Passa a imagem da struct resources.images para a struct player (acho que dá para perceber).
    app->player.texture = &app->resources.images.player;
	// "Rectangulo" em volta da imagem do player
    app->player.box.x = (WINDOW_WIDTH + PLAYER_WIDTH) / 2; // Posição do retangulo do jogador no eixo de X
    app->player.box.y = WINDOW_HEIGHT - GROUND_HEIGHT - PLAYER_HEIGHT; // Posição do retangulo do jogador no eixo de Y
    app->player.box.w = PLAYER_WIDTH; // Largura do retangulo do jogador
    app->player.box.h = PLAYER_HEIGHT; // Altura do retangulo do jogador
    app->player.vel.x = 0; // Velocidade do jogador no eixo do X
    app->player.vel.y = 0; // Velocidade do jogador no eixo do Y
    app->player.jumping = 0; // "Velocidade" do salto do jogador 
	// Passa a imagem da struct resources para a ground
    app->ground.texture = &app->resources.images.ground;
	// Contador do "chão"
    app->ground.count = GROUND_COUNT;
	// Alocar memória para o "retangulo" do "chão" (visto que não será desenhado um a um ?)
    app->ground.box = malloc(sizeof(SDL_Rect) * app->ground.count);
    for (int i = 0; i < app->ground.count; ++i) {
        app->ground.box[i].x = 0 + (i * GROUND_WIDTH);
        app->ground.box[i].y = WINDOW_HEIGHT - GROUND_HEIGHT;
        app->ground.box[i].w = GROUND_WIDTH;
        app->ground.box[i].h = GROUND_HEIGHT;
    }

    app->platform.texture = &app->resources.images.platform;
    app->platform.box = NULL;
    app->platform.count = 0;

    return 0;
}
示例#2
0
文件: screenlock.c 项目: FrankHB/LCUI
int main(int argc, char **argv)
{
	LCUI_Widget *window;
	/* 载入图像资源 */
	LoadIMG();
	/* 初始化LCUI */
	LCUI_Init(350,280,0);
	/* 创建窗口 */
	window = Widget_New("window");
	/* 设置窗口背景色 */
	Widget_SetBackgroundColor( window, RGB(255,255,255) );
	/* 调整窗口尺寸 */
	Widget_Resize( window, Size(320, 240) );
	/* 设置窗口为线条边框风格 */
	Widget_SetStyleID( window, WINDOW_STYLE_NONE );
	/* 将界面创建至窗口内 */
	CreateGUI( window );
	/* 设置定时器,用于定时更新时间显示 */
	LCUITimer_Set( 1000, UpdateTimeView, NULL, TRUE );
	/* 设置定时器,用于更新滑块的位置 */
	LCUITimer_Set( 20, PicBtn_UpdatePos, NULL, TRUE );
	/* 显示窗口 */
	Widget_Show( window );
	/* 在LCUI退出时释放图像资源 */
	LCUIApp_AtQuit( FreeIMG );
	return LCUI_Main();
}
Resource* SDL_Surface_Image::LoadPNG(File* file) {
#ifdef USE_LIBPNG
	// if supports Image_libpng addon
	std::vector<SDL_Surface*> vect;
	Image_libpng::load_png(file, vect);
	if(vect.empty()) {
		return 0;
	}
	return new SDL_Surface_Image(vect);
#else
	return LoadIMG(file);
#endif
}
示例#4
0
void initBRETT()
{
	BRETT_SURFACE = LoadIMG(DATADIR "gfx/characters/brett.png");
}
示例#5
0
void initKILLERBLUUME()
{	
	KBLUM_SURFACE[0] = LoadIMG(DATADIR "gfx/characters/pirnaha1.png");
	KBLUM_SURFACE[1] = LoadIMG(DATADIR "gfx/characters/pirnaha2.png");
}