-
SDLライブラリを使用する方法: SDL(Simple DirectMedia Layer)は、マルチメディア処理やハードウェアアクセラレーションをサポートするクロスプラットフォームのライブラリです。以下は、SDLを使用してスプライトを追加する例です。
#include <SDL.h> #include <SDL_image.h> int main() { // SDLの初期化 SDL_Init(SDL_INIT_VIDEO); // ウィンドウの作成 SDL_Window* window = SDL_CreateWindow("Sprite Example", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 800, 600, SDL_WINDOW_SHOWN); // レンダラーの作成 SDL_Renderer* renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED); // スプライトの読み込み SDL_Surface* surface = IMG_Load("sprite.png"); SDL_Texture* texture = SDL_CreateTextureFromSurface(renderer, surface); // スプライトの表示 SDL_Rect spriteRect = { 0, 0, surface->w, surface->h }; SDL_RenderCopy(renderer, texture, NULL, &spriteRect); SDL_RenderPresent(renderer); // イベントループ bool quit = false; SDL_Event event; while (!quit) { while (SDL_PollEvent(&event)) { if (event.type == SDL_QUIT) { quit = true; } } } // リソースの解放 SDL_DestroyTexture(texture); SDL_FreeSurface(surface); SDL_DestroyRenderer(renderer); SDL_DestroyWindow(window); SDL_Quit(); return 0; }
-
SFMLライブラリを使用する方法: SFML(Simple and Fast Multimedia Library)は、マルチメディア処理やゲーム開発に特化したC++のライブラリです。以下は、SFMLを使用してスプライトを追加する例です。
#include <SFML/Graphics.hpp> int main() { sf::RenderWindow window(sf::VideoMode(800, 600), "Sprite Example"); // スプライトの読み込み sf::Texture texture; texture.loadFromFile("sprite.png"); sf::Sprite sprite(texture); // スプライトの表示 while (window.isOpen()) { sf::Event event; while (window.pollEvent(event)) { if (event.type == sf::Event::Closed) { window.close(); } } window.clear(); window.draw(sprite); window.display(); } return 0; }
これらは、C++でスプライトを追加するための基本的な方法です。SDLおよびSFML以外のライブラリやフレームワークも使用できますが、上記の例は初心者にも理解しやすく、簡単に利用できるものです。