level 8
color371
楼主
本人第一次发帖,多多指教……
大家用c4a运行如下代码能挺多久?我的手机挺了15k多,这种闪退避免?
#include "SDL2/SDL.h"
#include "SDL2/SDL_ttf.h"
SDL_Window *Window = NULL;
SDL_Renderer *Renderer = NULL;
SDL_Texture *Texture = NULL;
SDL_Surface *Surface = NULL;
int i=0;
int Init()
{
SDL_Init(SDL_INIT_VIDEO);
// 创建窗口
Window = SDL_CreateWindow("SDL_Window", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 240, 400, SDL_WINDOW_SHOWN);
if (Window == NULL)
return -1;
Renderer = SDL_CreateRenderer(Window, -1, SDL_RENDERER_ACCELERATED);
if (Renderer == NULL)
return -2;
return 0;
}
void t(int x, int y, const char *text)
{
TTF_Init();
TTF_Font *font = NULL;
int w = 0, h = 0;
font = TTF_OpenFont("f.ttf", 28);
SDL_Color color;
color.r = 0xff;
color.g = 0;
color.b = 0;
color.a = 0xff;
Surface = TTF_RenderUTF8_Blended(font, text, color);
w = Surface->w;
h = Surface->h;
Texture = SDL_CreateTextureFromSurface(Renderer, Surface);
TTF_CloseFont(font);
SDL_Rect Box;
Box.x = x;
Box.y = y;
Box.w = w;
Box.h = h;
SDL_RenderCopy(Renderer, Texture, NULL, &Box);
TTF_Quit();
}
void Destroy()
{
SDL_FreeSurface(Surface);
SDL_DestroyWindow(Window);
SDL_DestroyTexture(Texture);
SDL_DestroyRenderer(Renderer);
SDL_Quit();
}
int main(int args, char *argv[])
{
//初始化
if (Init() != 0)
return -1;
char str[80];
while (1) {
//清理渲染器
SDL_RenderClear(Renderer);
i++;
sprintf(str, "time:%d", i);
t(0, 170, str);
//刷新
SDL_RenderPresent(Renderer);
//SDL_Delay(1);
}
Destroy();
return 0;
}
2018年03月18日 06点03分
1
大家用c4a运行如下代码能挺多久?我的手机挺了15k多,这种闪退避免?
#include "SDL2/SDL.h"
#include "SDL2/SDL_ttf.h"
SDL_Window *Window = NULL;
SDL_Renderer *Renderer = NULL;
SDL_Texture *Texture = NULL;
SDL_Surface *Surface = NULL;
int i=0;
int Init()
{
SDL_Init(SDL_INIT_VIDEO);
// 创建窗口
Window = SDL_CreateWindow("SDL_Window", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 240, 400, SDL_WINDOW_SHOWN);
if (Window == NULL)
return -1;
Renderer = SDL_CreateRenderer(Window, -1, SDL_RENDERER_ACCELERATED);
if (Renderer == NULL)
return -2;
return 0;
}
void t(int x, int y, const char *text)
{
TTF_Init();
TTF_Font *font = NULL;
int w = 0, h = 0;
font = TTF_OpenFont("f.ttf", 28);
SDL_Color color;
color.r = 0xff;
color.g = 0;
color.b = 0;
color.a = 0xff;
Surface = TTF_RenderUTF8_Blended(font, text, color);
w = Surface->w;
h = Surface->h;
Texture = SDL_CreateTextureFromSurface(Renderer, Surface);
TTF_CloseFont(font);
SDL_Rect Box;
Box.x = x;
Box.y = y;
Box.w = w;
Box.h = h;
SDL_RenderCopy(Renderer, Texture, NULL, &Box);
TTF_Quit();
}
void Destroy()
{
SDL_FreeSurface(Surface);
SDL_DestroyWindow(Window);
SDL_DestroyTexture(Texture);
SDL_DestroyRenderer(Renderer);
SDL_Quit();
}
int main(int args, char *argv[])
{
//初始化
if (Init() != 0)
return -1;
char str[80];
while (1) {
//清理渲染器
SDL_RenderClear(Renderer);
i++;
sprintf(str, "time:%d", i);
t(0, 170, str);
//刷新
SDL_RenderPresent(Renderer);
//SDL_Delay(1);
}
Destroy();
return 0;
}