݊ɂāAƁA`[gA݂Ȃ

PD͂߂
{RGSSƂ̔݊̐AcN[ĂȂlւ̊ȒPȉĂ݂܂B
ĂƁ[Ȃ̂Ŋ҂Ȃ悤ɁB


QD݊ɂ
{RGSSRubypgCuƂĎĂ邩ǂ͒m܂񂪁AFreeRGSS͊gCułB
require 'freergss'
ƍŏɏȂƎg܂(ő̔݊)B

{RGSSRuby1.8.1łAFreeRGSSRuby1.9.1płB1.8np͈肵Ăzz\łB
֘ȂΉʓ|Ȃ̂łȂ܂B

{RGSSUTF8g悤w肳Ă܂AFreeRGSSRuby1.9.1pȂ̂ŃGR[fBOt[łB
ŏɕϊ̂łDȃGR[hŎgĂB

SpriteAPlaneAViewportAWindowIuWFNgɂāA{Ƃł͐ƕ`悳AGCƏ܂A
FreeRGSSł̓VXeQƂ߁AdisposeȂGC܂B
Ǘ߂ǂRubyArrayŎ߂łB

͂̊tύX@\܂B

Graphics.updateȂƃEBhEĂIł܂B
{RGSSłENDubN͓܂񂪁AFreeRGSSłGraphics.updateexit̂œ܂B


RDȒPȐ
NƏɃEBhE܂B
Q[[vloop\bhō܂B
[vInput.updateGraphics.updatê{̌`ƂȂ܂B

loop do
  Input.update
  # łȂ񂩂
  Graphics.update
end

摜BitmapIuWFNgō܂B
t@CǂނƂł܂B

b1 = Bitmap.new(100,100) # 100*100sNZ̉摜𐶐
b2 = Bitmap.new("foo.png") # foo.pngǂݍBitmapIuWFNg𐶐

`Spriteĝ{łB
SpriteIuWFNg͐ƃVXeɓo^āAGraphics.updateŏɕ`悳悤ɂȂ܂B
`ɂSprite#disposeĂяo܂B
ꎞIɏɂSprite#visible=falseg܂B
disposeĂ΂Sprite̎QƂƁAiɉʂɎc葱܂B

s = Sprite.new
s.bitmap = Bitmap.new("foo.png")
s.x = 100
s.y = 100

loop do
  Input.update
  s.dispose if Input.trigger?(Input::C) # ZƏ
  Graphics.update
end

IuWFNgɃVXeɓo^̂SpriteAPlaneAWindowAViewportATilemapłB
disposeYɂCB

L[̓͂̂InputW[łB
ftHg̒`͈ȉłA_ŕύX͂ł܂B
"LEFT" pbh:LEFT    L[{[h:LEFT
"RIGHT"pbh:RIGHT   L[{[h:RIGHT
"UP"   pbh:UP      L[{[h:UP
"DOWN" pbh:DOWN    L[{[h:DOWN
"A"    pbh:BUTTON0 L[{[h:LSHIFT,RSHIFT
"B"    pbh:BUTTON1 L[{[h:X, NUMPAD0, ESCAPE
"C"    pbh:BUTTON2 L[{[h:SPACE, RETURN, NUMPADENTER, Z
"X"    pbh:BUTTON3 L[{[h:A
"Y"    pbh:BUTTON4 L[{[h:S
"Z"    pbh:BUTTON5 L[{[h:D
"L"    pbh:BUTTON6 L[{[h:Q
"R"    pbh:BUTTON7 L[{[h:W

SD
{RGSS͌\W[Ȃ̂ŁAlbgŌ΃AR񂪏oĂƎv܂B
łRPG̃R[h֘AȂ̂ŁARGSSgݍ݃CűL낢돑Ă΂ȂƎvĂ܂B
vĂ邾łB
