Help us understand the problem. What is going on with this article?

RubyでSiv3Dアプリが作れるSketchWaltz

More than 1 year has passed since last update.

Siv3D Advent Calendar 2017の16日目の記事です。

現在作成中のSketchWaltzという開発環境について紹介します。

opensiv3druby2.gif
(画像を拡大するとコードも見えます、OpenSiv3DRubyは昔の名前です・・)

概要

Siv3D, OpenSiv3DはC++で簡単にゲームやメディアアートが作れるライブラリです。使いやすいAPIや組み込みの当たり判定などがすぐに使えるのが魅力です。

RubyでOpenSiv3Dのアプリが作れるようにしたのがSketchWaltzです。現在はWindows版しか用意されていませんがOpenSiv3Dが動く環境であれば簡単に移植することができます。

とにかくインストールやプログラムの修正が簡単なのが特徴です。VisualStudioやXCodeのインストールは不要ですしコンパイルの待ち時間もありません。RubyなのでC++のような不正アクセスも起きません。

もっと気軽にSiv3Dを試してみたい、C++でがっつり書く前にプロトタイプを作りたい、普段はRubyでWebアプリを作っているけどゲームやメディアアートにも興味がある、といった人はぜひお試しください。

インストール

  1. Releasesから最新のzipを展開します
  2. sketchwaltz.exeを実行します

image.png

コードの編集

  1. sketchwaltz.exeの横にあるmain.rbを開きます(エディタなら何でもいいです、メモ帳でも)
  2. コード内の"Hello, SketchWaltz!"を好きな文字に変更して保存します
  3. 保存すると同時に画面が自動で書き換わります
  4. main.rbを書き換えて画面が色々変化することを確認しましょう

image.png

絵文字を動かす

main.rbを以下のように書き換えると絵文字をマウスで動かすことができます。(絵文字はEmoji unicode characters for use on the webから取ってくるとよいです)

font = Font.new(30)

e = Emoji.new("😁")
t = Texture.new(e, TextureDesc::Mipped)

while System.update do
  t.draw_at(Cursor.pos.x, Cursor.pos.y)
  font["🐣こんにちは!SketchWaltz!💃"].draw_at(Window.center.x, Window.center.y, Palette::White)
end

image.png

他のファイルを編集する

main.rbの横にあるshape.rbtexture.rbをアプリ上にドラッグ&ドロップしてみましょう。

image.png

もちろんドラッグ&ドロップしたファイルをそのままメモ帳などで編集すればその場で書き換えることができます。

今後の予定

まだまだ開発中ですが

  • 基本図形の描画
  • テクスチャの描画
  • 絵文字の描画
  • マウス入力
  • RubyのFiber

などはできるようになっています。SketchWaltzはOpenSiv3D+mrubyで作られているためOSXやLinuxに簡単に移植することができます。興味がある人がいましたら是非教えてください。

2日目で紹介されていた3D表示機能が入ったら是非使えるようにしたいです。かなり簡単に3Dアプリが作れるものになるのでは、と期待しています。

要望やバグなどありましたら是非お知らせください。

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away