SDL2_01
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
* SDL2.0の紹介
-(by [[K]], 2020.09.03)
** (0)
-SDL (Simple DirectMedia Layer) は、様々な環境でも共通の...
-一度覚えれば、他の環境でも同じように使えるので、やってみ...
-SDLを使うと、自作言語にグラフィック命令を追加することが...
----
-WikipediaのSDLページは結構参考になります。
--https://ja.wikipedia.org/wiki/SDL
--このページの補助ライブラリ一覧も参考になるかもしれませ...
-SDL 2.0 日本語ドキュメント
--http://sdl2referencejp.osdn.jp/
** (1)
-まず自分の開発環境にどうやってSDLをインストールするかに...
--Android上のTermuxで、SDLを使えるようにする方法について...
--WindowsやMacOSは、https://www.libsdl.org/download-2.0.p...
--WindowsのMinGWでやるときは、リンクするライブラリの順番...
** (2)
-(2-1)ウィンドウを開くまで
#include <SDL2/SDL.h>
int main()
{
if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_EVENTS) < 0) {
初期化失敗エラー
}
SDL_Window *win = SDL_CreateWindow("title", SDL_WIND...
SDL_Delay(30 * 1000);
return 0;
}
--これだけでウィンドウが出てきて、30秒後にウィンドウが閉...
--上記例だとウィンドウのタイトルは title で、サイズは320x...
--だから自分の望むものにしたければ、どこをどう変えればい...
-(2-2)ウィンドウに画像を出す
#include <SDL2/SDL.h>
int main()
{
if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_EVENTS) < 0) {
// 初期化失敗エラー. 何かメッセージを表示させて...
}
SDL_Window *win = SDL_CreateWindow("title", SDL_W...
SDL_Renderer *rndr = SDL_CreateRenderer(win, -1, 0);
SDL_Texture *txtr = SDL_CreateTexture(rndr, SDL_PIX...
uint32_t *q;
int linebyte;
SDL_LockTexture(txtr, 0, (void **) &q, &linebyte); /...
q[123 + 234 * linebyte / 4] = 0x123456; // ここで好...
SDL_UnlockTexture(txtr);
SDL_RenderCopy(rndr, txtr, 0, 0);
SDL_RenderPresent(rndr);
SDL_Delay(30 * 1000);
return 0;
}
--ウィンドウに画像を書き込むためには、SDL_LockTexture()で...
--q[123 + 234 * linebyte / 4] = 0x123456; の意味するとこ...
--ということで、SDLで動画の1フレームを書くとしたら、SDL_L...
--これだけ覚えれば、とりあえず自由に絵は描けるわけです。
-(2-3)ウィンドウを閉じる
// もしrndrやtxtrをCreateしていたなら、まずそれをいった...
SDL_DestroyTexture(txtr);
SDL_DestroyRenderer(rndr);
// ウィンドウを閉じる.
SDL_DestroyWindow(win);
--これだけで閉じられます。閉じてしまえばまた開きなおすこ...
--閉じずにどんどん開くこともできます。その場合、ウィンド...
-(2-4)ウィンドウが閉じられたら終了する
SDL_Event ev;
while (SDL_PollEvent(&ev) != 0) {
if (ev.type == SDL_QUIT) {
// 最後のウィンドウが閉じられたので、終了処理に...
}
// もしほかのイベントにも反応できるようにしたければ...
}
--こんな感じの処理をDelayの代わりに書けば、30秒後ではなく...
** (3)
-ウィンドウに対するキー入力、ウィンドウに対するマウス入力
-(工事中)
* こめんと欄
#comment
終了行:
* SDL2.0の紹介
-(by [[K]], 2020.09.03)
** (0)
-SDL (Simple DirectMedia Layer) は、様々な環境でも共通の...
-一度覚えれば、他の環境でも同じように使えるので、やってみ...
-SDLを使うと、自作言語にグラフィック命令を追加することが...
----
-WikipediaのSDLページは結構参考になります。
--https://ja.wikipedia.org/wiki/SDL
--このページの補助ライブラリ一覧も参考になるかもしれませ...
-SDL 2.0 日本語ドキュメント
--http://sdl2referencejp.osdn.jp/
** (1)
-まず自分の開発環境にどうやってSDLをインストールするかに...
--Android上のTermuxで、SDLを使えるようにする方法について...
--WindowsやMacOSは、https://www.libsdl.org/download-2.0.p...
--WindowsのMinGWでやるときは、リンクするライブラリの順番...
** (2)
-(2-1)ウィンドウを開くまで
#include <SDL2/SDL.h>
int main()
{
if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_EVENTS) < 0) {
初期化失敗エラー
}
SDL_Window *win = SDL_CreateWindow("title", SDL_WIND...
SDL_Delay(30 * 1000);
return 0;
}
--これだけでウィンドウが出てきて、30秒後にウィンドウが閉...
--上記例だとウィンドウのタイトルは title で、サイズは320x...
--だから自分の望むものにしたければ、どこをどう変えればい...
-(2-2)ウィンドウに画像を出す
#include <SDL2/SDL.h>
int main()
{
if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_EVENTS) < 0) {
// 初期化失敗エラー. 何かメッセージを表示させて...
}
SDL_Window *win = SDL_CreateWindow("title", SDL_W...
SDL_Renderer *rndr = SDL_CreateRenderer(win, -1, 0);
SDL_Texture *txtr = SDL_CreateTexture(rndr, SDL_PIX...
uint32_t *q;
int linebyte;
SDL_LockTexture(txtr, 0, (void **) &q, &linebyte); /...
q[123 + 234 * linebyte / 4] = 0x123456; // ここで好...
SDL_UnlockTexture(txtr);
SDL_RenderCopy(rndr, txtr, 0, 0);
SDL_RenderPresent(rndr);
SDL_Delay(30 * 1000);
return 0;
}
--ウィンドウに画像を書き込むためには、SDL_LockTexture()で...
--q[123 + 234 * linebyte / 4] = 0x123456; の意味するとこ...
--ということで、SDLで動画の1フレームを書くとしたら、SDL_L...
--これだけ覚えれば、とりあえず自由に絵は描けるわけです。
-(2-3)ウィンドウを閉じる
// もしrndrやtxtrをCreateしていたなら、まずそれをいった...
SDL_DestroyTexture(txtr);
SDL_DestroyRenderer(rndr);
// ウィンドウを閉じる.
SDL_DestroyWindow(win);
--これだけで閉じられます。閉じてしまえばまた開きなおすこ...
--閉じずにどんどん開くこともできます。その場合、ウィンド...
-(2-4)ウィンドウが閉じられたら終了する
SDL_Event ev;
while (SDL_PollEvent(&ev) != 0) {
if (ev.type == SDL_QUIT) {
// 最後のウィンドウが閉じられたので、終了処理に...
}
// もしほかのイベントにも反応できるようにしたければ...
}
--こんな感じの処理をDelayの代わりに書けば、30秒後ではなく...
** (3)
-ウィンドウに対するキー入力、ウィンドウに対するマウス入力
-(工事中)
* こめんと欄
#comment
ページ名: