Siv3D Advent Calendar 2013

セーブとロード

メリークリスマス、Siv3D Advent Calendar 2013, 25 日目の記事です。 今日は BinaryWriter と BinaryReader を使って、簡単なゲームデータのセーブとロードに挑戦しましょう。BinaryWriter はデータをテキストではなくバイト列としてファイルに書き込みます…

Circular 型

Siv3D Advent Calendar 2013, 24 日目の記事です。 今日は平面極座標を表現する Circular 型を紹介します。Circular 型のメンバ r, theta はそれぞれ平面極座標の動径 r と偏角 θ に対応します。 極座標から直交座標への変換は、Siv3D では次の通り行われま…

カーソルを変更する

Siv3D Advent Calendar 2013, 23 日目の記事です。 今日はカーソルの表示や画像を切り替える方法を紹介します。 カーソルの表示/非表示 システムカーソルの表示/非表示を切り替えるには Window::ShowCursor(bool) を使います。このプログラムでは、画面の右…

進捗報告合宿

Siv3D Advent Calendar 2013, 22 日目の記事です。 今日は未踏の首藤 / 石黒 PM チーム合同の進捗報告合宿に来ています。おもに 10 - 12 月の間に実装した機能や、現在の課題について発表、議論しました。 発表順が 2 番目だったので気楽に過ごせてます。 10…

Siv3D Winter of Code 2013

と Google Summer of Code を真似てみました。Siv3D Advent Calendar 2013, 21 日目の記事です。 今日は Siv3D を使うクリエイターのみなさんに冬休みの宿題です。今度リリースする Siv3D January 2014 の新機能に「正多角形や星形を作成する関数」というも…

Play Siv3D! の拡充

Siv3D Advent Calendar 2013, 20 日目の記事です。 今日は Siv3D の Web サイト整理のお話です。これまで 5 年間にわたって Siv3D の開発記録や機能紹介を発信してきた Google Site の Siv3D ページ を縮小し、今後は Play Siv3D! に情報を集約することにし…

アイコンを変更する

Siv3D Advent Calendar 2013, 19 日目の記事です。 今日は December 2013 の新機能、アプリケーションのアイコンを変更する機能を紹介します。アプリケーションのデフォルトのアイコンは、プロジェクトフォルダにある icon.ico を新しいアイコンに置き換える…

テキストの領域を取得する

Siv3D Advent Calendar 2013, 18 日目の記事です。 今日はテキストが描画される領域を計算する機能を紹介します。Font::region() を使うと、Font::draw() したときにテキストが描かれる領域をあらかじめ RectF で取得できます。領域に応じて、テキストの位置…

画像をログファイルに出力する

Siv3D Advent Calendar 2013, 17 日目の記事です。 今日は画像をログファイルに出力する機能を紹介します。Logger::Write(image) を使うと Image をログファイルに出力できます。 画像の情報は直接 HTML ファイル内に埋め込まれます。 # include <Siv3D.hpp> void Main(</siv3d.hpp>…

図形のグラデーション

Siv3D Advent Calendar 2013, 16 日目の記事です。 今日は December 2013 の新機能、図形のグラデーションを紹介します。グラデーションに対応したのは Line / Rect / Triangle / Quad の 4 つの図形です。draw() メソッドで、単一の Color の代わりに { } …

第 1 回 10 時間 Game Jam

Siv3D Advent Calendar 2013, 15 日目の記事です。今日は 10 時間 Game Jam の司会進行をしてました。いろいろな作業の合間に僕も Siv3D でこんなのを作ってました。後日詳細なまとめ記事を書きます。

作品紹介 | 音階が見えるビジュアライザー

Siv3D Advent Calendar 2013, 14 日目の記事です。今日は @hamukun8686 さんが Siv3D で制作した「音階が見えるビジュアライザー」を紹介します。ソースコードが Qiita | 音階が見えるビジュアライザー に掲載されているので、Siv3D をインストールしていれ…

ゲームとメディアアートのための C++ ライブラリ「Siv3D」のこれまでとこれから

C++ Advent Calendar 2013 および Siv3D Advent Calendar 2013, 13 日目の記事です。「Siv3D」 は C++ で楽しく簡単にゲームやメディアアートを作ることを目的としたライブラリです。2008 年から開発を始め、2012 年に α 版を公開、今年 9 月には IPA 未踏事…

GUI のテーマカラーと背景を変更する

Siv3D Advent Calendar 2013, 12 日目の記事です。 今日は GUI のビジュアルを変更する機能を紹介します。GUI の見た目は GUISkin で設定します。 GUISkin は設定項目が多いので、通常は GUISkin::Default(Color) 関数を使って初期化します。このときの Colo…

イベントタイマー

Siv3D Advent Calendar 2013, 11 日目の記事です。 今日は December 2013 で追加されたイベントタイマー機能を紹介します。EventTimer は Timer の強化版で、設定したイベント時間の通過を教えてくれます。イベントの設定は EventTimer::set(event, time) あ…

色のいろんな作り方

Siv3D Advent Calendar 2013, 10 日目の記事です。 今日は Siv3D での色の作り方を紹介します。Color 型のコンストラクタ Color(Palette) 140 種類の Web カラーネーム が定義されています。 # include <Siv3D.hpp> void Main() { while (System::Update()) { Circle(10</siv3d.hpp>…

ペンタブレットを使う

Siv3D Advent Calendar 2013, 9 日目の記事です。 今日はペンタブレット入力の機能を紹介します。※この記事は Siv3D December 2013 に基づいています。最新の Siv3D のコードは リファレンス | ペンタブレット で入手できます。主要な関数は 3 つです。 地面…

文字の TextureRegion を取得して「大破」する

Siv3D Advent Calendar 2013, 8 日目の記事です。 今日は December 2013 で追加された機能の 1 つ、Font から指定した文字の TextureRegion を取得する機能を紹介します。これまでの Font を使った文字描画では、文字単位での描画や変形をサポートしていませ…

スクリーンショットを保存する

Siv3D Advent Calendar 2013, 7 日目の記事です。 今日は Siv3D のスクリーンショットに関する機能を紹介します。 スクリーンショットを指定したファイル名で保存する Graphics::SaveScreenshot(path) を呼ぶと、現在のフレームの描画が完了したときに、指定…

Siv3D で音楽プレイヤーを作る

Siv3D Advent Calendar 2013, 6 日目の記事です。 今日は Siv3D の GUI と Sound 機能を使って音楽プレイヤーを作ってみました。このプログラムのソースコードと解説は Qiita | Siv3D で音楽プレイヤーを作る に掲載しています。GUI の使い方に慣れる良いチ…

開発中の機能 | 手書き文字認識

Siv3D Advent Calendar 2013, 5 日目の記事です。 今日は開発中の機能の 1 つ「手書き文字認識」を紹介します。 このように、書いている途中でも候補の文字を高速に取得できます。判定には機械学習アルゴリズムを用いた文字認識エンジン Zinnia を使っていま…

手拍子をカウントする

Siv3D Advent Calendar 2013, 4 日目の記事です。 今日はマイク入力を使って手拍子を認識するソフトを作ってみましょう。まずは Play Siv3D! のチュートリアルからマイク入力のサンプルを持ってきます。 チュートリアル | マイク入力 | 録音した波形の解析 |…

Circle の描画関数

Siv3D Advent Calendar 2013, 3 日目の記事です。 今日は Circle の描画関数を紹介します。基本の円描画 draw(color) # include <Siv3D.hpp> void Main() { Circle(30, 30, 20).draw(Palette::Yellow); Circle(100, 100, 50).draw(Palette::Skyblue); Circle(400, 400, </siv3d.hpp>…

INI ファイルからデータを読み込む

Siv3D Advent Calendar 2013, 2 日目の記事です。今日は INI ファイルからデータを読み込む方法を紹介します。 INI ファイルは設定を記述するのに便利なテキストフォーマットです。test1.ini [AAA] aaa = 50 bbb = 1.234 ccc = Hello ; コメント [BBB] aaa =…

Siv3D December 2013 リリース | おすすめ機能

昨日 Siv3D December 2013 をリリースしました。5 か月ぶりの安定版です。 たくさんの更新内容 の中で、僕が特に気に入ってる 8 つのトピックを紹介します。 インストール時間が短くなった June 2013 で Visual Studio プロジェクトテンプレートを導入、そし…