Ruby2Dの覚え書き
require 'ruby2d' set title: "ページタイトル" set background: '背景色' set fullscreen: true set borderless: true set width: 800, height: 450 #メインプログラム show
:Rubyの基本的な関数の一つで、ライブラリを読み込むときに使う。今回はRuby2Dライブラリを使います。
require 'ruby2d'
:Ruby2Dのウインドウを表示する命令。
show
:ウインドウ上部に表示されるタイトルを指定する。後述する「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
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" #(言い忘れてましたが)()内で色などの属性もまとめて指定できます。 )
Font = 'NotoSansJP-VariableFont_wght.ttf' #使用するフォントのフォントファイル名を定数Fontに代入 @text = Text.new( #テキストを生成 '表示したいテキスト', size: 20, #フォントサイズ color: 'white, x: 10, y: 60, font: Font #使用するフォントを指定(フォントファイル名を指定した定数「File」を指定していますが、フォントファイル名を直接入れても良い) )
clear
update do #ループさせる処理 end
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
on :key_down do |event| if event.key == 'キーの名称' puts 'キーが押されました' end end
on :key_down do |event| if event.key == 'a' puts 'aキーが押されました' end end
require 'ruby2d' set title: "キー入力テスト" set width:640, height: 480 on :key_down do |ev| puts ev.key end show