Mac Xcode sdl

 

metal 学习https://metalbyexample.com/

 

1、mac上sdl 显示一个窗口

#include <iostream>
extern "C" {
 #include "SDL.h"
}
using namespace std;

int main(int argc, char* argv[])
{
    
    if (SDL_Init(SDL_INIT_VIDEO) == 0) {
        SDL_Window* window = NULL;
        SDL_Renderer* renderer = NULL;

        if (SDL_CreateWindowAndRenderer(640, 480, 0, &window, &renderer) == 0) {
            SDL_bool done = SDL_FALSE;

           
            while (!done) {
                SDL_Event event;
                /*
                    SDL_SetRenderDrawColor(renderer, 0, 0, 0, SDL_ALPHA_OPAQUE);
                    SDL_RenderClear(renderer);

                    SDL_SetRenderDrawColor(renderer, 255, 255, 255, SDL_ALPHA_OPAQUE);
                    SDL_RenderDrawLine(renderer, 320, 200, 300, 240);
                    SDL_RenderDrawLine(renderer, 300, 240, 340, 240);
                    SDL_RenderDrawLine(renderer, 340, 240, 320, 200);
                    SDL_RenderPresent(renderer);
                     */
                while (SDL_PollEvent(&event)) {
                    if (event.type == SDL_QUIT) {
                        done = SDL_TRUE;
                    }
                }
            }
          
            
        }

        if (renderer) {
            SDL_DestroyRenderer(renderer);
        }
        if (window) {
            SDL_DestroyWindow(window);
        }
    }
    SDL_Quit();
    return 0;
}

2、画图

#include <iostream>
extern "C" {
 #include "SDL.h"
}
using namespace std;

int main(int argc, char* argv[])
{
    
    if (SDL_Init(SDL_INIT_VIDEO) == 0) {
        SDL_Window* window = NULL;
        SDL_Renderer* renderer = NULL;

        if (SDL_CreateWindowAndRenderer(640, 480, 0, &window, &renderer) == 0) {
            SDL_bool done = SDL_FALSE;

           
            while (!done) {
                SDL_Event event;
                /*
                    SDL_SetRenderDrawColor(renderer, 0, 0, 0, SDL_ALPHA_OPAQUE);
                    SDL_RenderClear(renderer);

                    SDL_SetRenderDrawColor(renderer, 255, 255, 255, SDL_ALPHA_OPAQUE);
                    SDL_RenderDrawLine(renderer, 320, 200, 300, 240);
                    SDL_RenderDrawLine(renderer, 300, 240, 340, 240);
                    SDL_RenderDrawLine(renderer, 340, 240, 320, 200);
                    SDL_RenderPresent(renderer);
                     */
                while (SDL_PollEvent(&event)) {
                    if (event.type == SDL_QUIT) {
                        done = SDL_TRUE;
                    }
                }
            }
          
            
        }

        if (renderer) {
            SDL_DestroyRenderer(renderer);
        }
        if (window) {
            SDL_DestroyWindow(window);
        }
    }
    SDL_Quit();
    return 0;
}

 

posted @ 2022-01-22 22:08  cnchengv  阅读(124)  评论(0编辑  收藏  举报