我不知道我的問題是。我試圖編譯代碼一次,它的工作。不過,我把它抄了一個新的項目,以修改它,只是顏色或等待的時間,它只是在工作的第一個程序。 有什麼不對?我感到非常沮喪。使用此代碼我想圖形的正弦函數。 這裏是我的代碼:進程返回255(0xFF的)代碼塊
#include <stdio.h>
# include <SDL.h>
# include <math.h>
# define PI 3.141592
# define SCREEN_WIDTH 640
# define SCREEN_HEIGHT 480
int main(int argc, char **argv){
int x,y;
double fx,angulo;
// Uint8* posicion;
Uint32 color;
SDL_Window*win = SDL_CreateWindow("y=sin(x)", 100,100, 640, 480, 0);
// SDL_ShowSimpleMessageBox(SDL_MESSAGEBOX_INFORMATION,"info", "Window creada",win);
SDL_Renderer*ren = SDL_CreateRenderer(win, -1, SDL_RENDERER_ACCELERATED | SDL_RENDERER_PRESENTVSYNC);
/* Create surface */
SDL_Surface*surface = SDL_CreateRGBSurface(0,SCREEN_WIDTH,SCREEN_HEIGHT,0,32,0,0,0);
//get the pixels
Uint32*pixels = (Uint32*)surface-> pixels;
/* Lock the surface */
SDL_LockSurface(surface);
color = SDL_MapRGB(surface-> format, 255, 0, 0);
for(x=0;x<360;x++){
angulo=x*PI/180;
fx=240+50*sin(angulo);
y=round(fx);
pixels[ (y* surface-> w) + x ] = color;
}
/* Unlock the surface */
SDL_UnlockSurface(surface);
//imprescindible
SDL_Texture *tex = SDL_CreateTextureFromSurface(ren, surface);
SDL_RenderCopy(ren,tex,NULL,NULL);
SDL_RenderPresent(ren);
SDL_Delay(1000);
return 0;
}
那麼,究竟doesn't工作? – deviantfan
你正在使用哪種IDE和版本,以及你的機器是哪個平臺和架構師? –
Code :: blocks 13。12 –