ラベル SDL2 の投稿を表示しています。 すべての投稿を表示
ラベル SDL2 の投稿を表示しています。 すべての投稿を表示

2020/02/19

Rust+SDL2でカラーチェック

色を見ながら調整する

RustとSDL2で色を見ながら調整し、最終的にその色のRGBの値とカラーコードを表示するというシンプルなアプリケーションを作成してみました。ソースコードはGitHubに置いていますが、以下のようになっています。

use sdl2;
use sdl2::video::Window;
use sdl2::render::Canvas;
use sdl2::event::Event;
use sdl2::pixels::Color;
use sdl2::keyboard::Keycode;
use std::error::Error;

2020/02/06

RustでSDL2 その4

step7 マウス操作

いよいよ、とりあえず最後のステップ7です。今回はマウスで操作するものを作ります。といってもキーボード操作の時と大きく違うことはありません。共通しているのは座標をどう扱うかというだけです。コードは以下のようになりました。

use sdl2;
use sdl2::event::Event;
use sdl2::keyboard::Keycode;
use sdl2::mouse::MouseState;
use sdl2::image::{LoadSurface, InitFlag};
use sdl2::rect::Rect;
use sdl2::surface::Surface;
use std::time::Duration;
use std::thread;
use std::path::Path;

2020/02/04

RustでSDL2 その3

step5 壁に反射するアニメーション

前回のアニメーションは下から上へ動いていくだけのものでしたが、今回はウィンドウの枠に当たると反射するアニメーションの作成です。まずはソースコードを。

use sdl2;
use sdl2::event::Event;
use sdl2::keyboard::Keycode;
use sdl2::image::{LoadSurface, InitFlag};
use sdl2::rect::Rect;
use sdl2::surface::Surface;
use std::time::Duration;
use std::thread;
use std::path::Path;

2020/02/02

RustでSDL2 その2

step3 画像の表示

前回はウィンドウの表示までできましたが、今回は画像を表示してみようと思います。C、NimではSDLの初期化、ウィンドウ作成、レンダラー作成、画像を読み込んでサーフェスへ、サーフェスからテクスチャ作成、サーフェス解放、レンダラーで表示、諸々クリーンアップといった流れになっていましたので、同じようにやってみます。

use sdl2;
use sdl2::event::Event;
use sdl2::keyboard::Keycode;
use sdl2::image::{LoadSurface, InitFlag};
use sdl2::rect::Rect;
use sdl2::surface::Surface;
use std::time::Duration;
use std::thread;
use std::path::Path;

2020/01/30

RustでSDL2 その1

step1 初期化とクリーンアップ

C、Nimに続き、RustでもSDL2を試してみました。
Rustではsdl2クレートを使わせてもらいました。使った実感としましては、ところどころ違いがあり、ソースコードを結構読みましたが、大体同じ知識で使えるという感じでした。C、Nimと同様step1~7まで作ったものはGitHubに置いておきましたが、一応解説ということで記事にしました。

2020/01/18

SDL2に入門してみた(C, Nim)

SDL2とは

SDL2とは、C言語で書かれたクロスプラットフォームなマルチメディアライブラリで、グラフィックの描画・サウンドの再生などを扱うことができるようになります。C言語で書かれておりますが、他の言語にも移植されています。
今回はC言語とNimでSDL2を使ってみようかと思いますが、その前にC言語のSDl2ライブラリが必要なので予めインストールが必要です。Nimのほうはそのライブラリのラッパーとなります。私の場合はManjaro Linuxを使っておりますので、sdl2はもともと入っておりました。したがって、残りのgfx、ttf、mixer、net、imageを追加でインストールしました。sdl2_gfxは図形などを描く際に、sdl2_mixerは音声を扱う際に、sdl2_imageは画像を扱う際に、sdl2_netはネットワークのサポート、sdl2_ttfはTrueTypeフォントのサポート、に必要なものです。
NimでSDL2を使う場合、実はsdl2とsdl2nimの2種類があります。