Windowのサイズについて
Window.width = 360
Window.height = 480
画像関係
画像データの読み込みの方法
一つのファイルに一つの画像しか無いときに使う
image = Image.load("filepath")
一つのファイルに全てのサイズが同じである複数の画像がある場合に使う
image_array = Image.load_tiles("filepath", xcount, ycount)
画像を読み込み、表示する方法
# coding: utf-8
require 'dxruby'
x = 0
y = 0
image = Image.load_tiles("./character.png", 4, 4)
sample_sprite = Sprite.new(x, y, image[0])
Window.loop do
Sprite.draw(sample_sprite)
end
画像データの画面内移動のしかた
Window.loop do
sample_sprite.x += 1
sample_sprite.y += 1
Sprite.draw(sample_sprite)
end
操作関係
キャラクタの操作の実装方法
Window.loop do
if Input.keyDown?(K_L)
sample_sprite.x += 1
end
Sprite.draw(sample_sprite)
end
メソッド | 意味 |
---|---|
keyDown? | キーボードのキーが押されている間、実行される |
keyPush? | キーボードのキーが押された瞬間のみ、実行される |
■ 右に進む場合 sample_sprite.x += 1
■ 左に進む場合 sample_sprite.x -= 1
■ 上に進む場合 sample_sprite.y -= 1
■ 下に進む場合 sample_sprite.y += 1
使いたいキーのコードを調べたい場合、 DXRuby キーコードリファレンス を参照して下さい。
マウスカーソルの入力
require 'dxruby'
chara_img = Image.load('./character.png')
chara = Sprite.new(100, 100, chara_img)
Window.loop do
x = Input.mouse_x # マウスカーソルのx座標
y = Input.mouse_y # マウスカーソルのy座標
chara = Sprite.new(x, y, chara_img)
Window.draw(x, y, image) # data.pngを描画する
end
衝突判定
image = Image.load_tiles("./character.png", 4, 4)
sample_sprite = Sprite.new(200, 200, image[0])
image_box = Image.load_tiles("./image/colorbox.png", 6, 1)
box = Sprite.new(400, 200, image_box[0])
Window.loop do
if Input.keyDown?(K_L)
sample_sprite.x += 1
if sample_sprite === box
sample_sprite.x -= 1
end
end
Sprite.draw(sample_sprite)
Sprite.draw(box)
end
ブロックの出現場所を制御する
randメソッドを使って、ブロックが出現する時のx座標の位置をランダムにする
item = nil
Window.loop do
if item.nil? = true
x = rand(340)
item = Sprite.new(x, y, image_box[0])
end
Sprite.draw(item)
end
文字の描画
# coding: utf-8
require 'dxruby'
font = Font.new([32])
Window.loop do
Window.draw_font(100, 100, "ふぉんと", font)
end
文字列に"\n"をいれると改行することができる。
数値を文字列に変換して表示させたい場合
#{変数名.to_s}で文字列に変換する
# coding: utf-8
require 'dxruby'
score = 50
font = Font.new([32])
Window.loop do
Window.draw_font(100, 100, "score: #{score.to_s}", font)
end