Ruby2Dの覚え書き

使用言語:Ruby (Ruby2D)
なんとなくRuby2Dに触れたのでメモ書き。Ruby2Dのgemをインストールしていることを前提とします。
こちらを参考にしました。

基本の書き方
人によって違うと思うが大体はこんな感じだと思う。たぶん...
require 'ruby2d'
set title: "ページタイトル"
set background: '背景色'
set fullscreen: true
set borderless: true
set width: 800, height: 450

#メインプログラム
show
ruby2dを使う上で必須なのは require 'ruby2d' と show の2つ。
ちなみにwidthとheightは設定しなくても動くには動く
requireでRuby2Dライブラリを読み込む
 :Rubyの基本的な関数の一つで、ライブラリを読み込むときに使う。今回はRuby2Dライブラリを使います。
require 'ruby2d'
ウインドウを出す
 :Ruby2Dのウインドウを表示する命令。
show
このshowは、画面の更新を実行するのではなく、ウィンドウを出すだけ(?)なので、どこか一箇所に書いておくだけで良い。(主は一番最後に書いてる)

ウインドウ関連
Ruby2Dではウインドウにオブジェクトを表示する。オブジェクトを表示するウインドウについての主な関数は以下の通り。
ウインドウタイトル
 :ウインドウ上部に表示されるタイトルを指定する。後述する「borderless」が適用されている場合は効果なし。
set title: "ruby2d test"
ウインドウ背景色
 :ウインドウの背景の色を変更する。色の指定はcssのキーワード(blackとかredとか)や、16進数カラーコードなどを使用する。
set background: 'blue'
set background: '#114514'
フルスクリーン表示
  :フルスクリーン表示にするかどうかを決定します。trueの部分をfalseにするか、この関数を書かない場合はウインドウ表示になります。
  フルスクリーン表示にしたあと、戻したくなった場合はwindowsの場合、Alt + f4で閉じることができます。
set fullscreen: true
枠線なし表示
  :ウインドウの枠線を非表示にします。trueの部分をfalseにするか、この関数を書かない場合は枠線ありになります。
  枠線なしの時(閉じるボタンがない時)にウインドウを閉じたい場合はタスクバーから閉じるかAlt + f4で。
set borderless: true
ウィンドウの大きさ
  :ウインドウの縦(height)と横(width)を指定します。指定しない場合はheight:480, width:640となります。
set width: 800, height: 450

オブジェクトとか
Ruby2Dでオブジェクトを表示する方法として、下記のようなやり方が一般的(なのか?)と思われる。
obj = Square.new(size: 100)	#とりあえず正方形を新規作成 サイズを100に指定してます
obj.x = 40			#こんな感じで座標をあとから指定したり
obj.remove			#オブジェクトを非表示にしたり
obj.add				#removeで消したオブジェクトを再び表示したり
  
オブジェクトを新規生成する場合は下記のように行う。
定数 = オブジェクトの種類.new
定数(もしかしたら変数かも?)にオブジェクトを指定しなくても生成はできるが、あとからオブジェクトに対して何らかの変更を行う場合は
定数(変数?)に指定しておく。
オブジェクトの種類は以下の通り。
長方形
  長方形を生成するにはRectangle.newを使用します。以下はその例です。
rectangle = Rectangle.new	#長方形を生成します
rectangle.width = 100		#高さを指定します
rectangle.height = 150		#横幅を指定します
rectangle.color = "#364364"		#色を指定します。他の図形でも方法は同じです。
rectangle.x = 114			#x座標を指定します。他の図形でも方法は同じです
rectangle.y = 45			#y座標を指定します。他の図形でも方法は同じです。
rectangle.z = 14			#z値です。この値が大きいものが手前に表示されます。他の図形でも方法は同じです。
  
正方形
  正方形を生成するにはSquare.newを使用します。大きさを指定するときはsize属性を指定します。
square = Square.new		#正方形を生成します
square.size = 81		#正方形のサイズを指定します
  
四辺形
  四辺形を生成するにはQuad.newを使用します。それぞれの角のxy座標を指定して使用します。
quad = Quad.new(			#四辺形を生成します
	x1: 114, y1: 514,
	x2: 364, y2: 364,
	x3: 810, y3: 931,		#四辺形の場合、こんな感じで初期設定しておくと見やすいかも?
	x4: 919, y4, 191
)
quad.color = "#191945"
  
  円を生成するにはCircle.newを使用します。radius(半径)によって大きさを指定します。
circle = Circle.new		#円を生成します
circle.radius = 81		#半径を指定します
circle.sectors = 4		#どうやら円を分割して描画するらしい(by Copilot)。よくわからんので俺は使わない
  
  線を生成するにはLine.newを使用します。開始地点と終了地点のxy座標を指定します。
line = Line.new(
	x1: 30, y1: 50,		#まとめて指定しています
	x2: 400, y2: 300
)
line.width = 10			#線の幅を指定します
  
三角形
  三角形を生成するにはTriangle.newを使用します。頂点のxy座標を指定して使用します。
tri = Triangle.new(
	x1: 100, y1: 20,		#まとめて指定しています。
	x2: 30, y2: 100,
	x3: 170, y3: 100,
	color = "#810931"		#(言い忘れてましたが)()内で色などの属性もまとめて指定できます。
)
  
テキスト
文字を生成するにはText.newを使用しますが、日本語を使用する際には日本語に対応したフォントファイル(.ttfもしくは.otf)を用意する必要があります(必須)。
主はNotoSans.jpというフリーフォントを使用しました。
ダウンロードしたフォントファイル(.ttfまたは.otf)は作業フォルダに入れてください。
Font =  'NotoSansJP-VariableFont_wght.ttf'		#使用するフォントのフォントファイル名を定数Fontに代入

@text = Text.new(			#テキストを生成
	'表示したいテキスト',
	size: 20,			#フォントサイズ
	color: 'white,
	x: 10,
	y: 60,
	font: Font			#使用するフォントを指定(フォントファイル名を指定した定数「File」を指定していますが、フォントファイル名を直接入れても良い)
)
  
全オブジェクト消去
もしすべてのオブジェクトを削除する必要がある場合はclearを使用する。
clear

ループ関連
ゲームやシミュレーションなどを作る際、必要になるのがループであるが、Ruby2Dでは下記のようなやり方で60回/秒のループが作れる。
update do
    #ループさせる処理
end

キー入力関連
アプリケーション全般で欠かせないと思われるキー入力。Ruby2Dだとこんな感じ。
on :key_down do |event|		#キーが押されたとき
	puts event.key			#押されたキーをコンソールに表示します
end

on :key_held do |event|		#キーが押し続けられた時
    puts event.key			#押されたキーを表示します(キーが押されている間出力し続けます)
end

on :key_up do |event|		#キーを離した時
    puts event.key			#押されていたキーを表示します
end
  
特定のキーに対するイベントはif文を組み合わせる。
on :key_down do |event|
    if event.key == 'キーの名称'
    puts 'キーが押されました'
    end
end
  
念の為使用例を書いときますねぇ!
on :key_down do |event|
    if event.key == 'a'
    puts 'aキーが押されました'
    end
end
この'キーの名称'に関しては、文字キー(アルファベットキーとか数字キーとか)ならそれに対応する文字(例:aキーなら'a'、1キーなら'1')を入れれば良い。
なお、数字キーの場合も''で囲んでおかないと正常に動作しなかった。
その他のキーに関しては下記のプログラムを実行し、名称を知りたいキーを押下するとキーの名称がわかる。(押しても反応がない場合は半角/全角を切り替えてみて)
require 'ruby2d'
set title: "キー入力テスト"
set width:640, height: 480

on :key_down do |ev|
	puts ev.key
end

show
 湯豆腐のかたまり──Assemble Yudofu