DXRuby 0.0.6  t@X}jA

PDDXRubyƂ

IuWFNgwXNvgłRubyDirectXׂ̊gCułB

 0.0.5炢낢ς̂ŁAȑÕo[Wg͒̕ӂĂB


QDNX^W[\

DXRubyɂWindowW[/InputW[/ImageNX/SoundNX/FontNX܂B

    WindowW[EEEDXRubỹC䃂W[BEBhEƃXN[B
    InputW[EEE̓W[BpbhL[{[h̓͂B
    ImageNXEEE摜̃f[^NXB
    SoundNXEEEBGMAʉOt@CǂݍňNXB
    SoundEffectNXEEEvOŊȒPȉ𐶐NXB
    FontNXEEEtHgNXB



RDWindowW[

EBhEAOtBbN`AʍXVȂǂsƂł܂B


RDP 

Window.loop do
  ...
end

  C[vɂȂ܂B
  EBhEꂽI܂B
  ̃[v͕b60s(60FPS)ɂȂ悤A҂Ԃ܂B

Window.draw( x, y, image[, z] )

  G̕`܂B
  xy͍WŁAオ(0,0)ɂȂ܂B
  iamge̓C[WIuWFNgłB
  z͕`揇ŁA0ԉɂȂ܂Bő256܂łŎg܂B
  ȗ0ɂȂAŏdraŵԉɂȂ܂B

Window.drawScale( x, y, image, scalex, scaley[, z] )

  cÅg嗦w肵ĕ`悵܂B
  1{Ŏg܂B
  -1ݒ肷ƍE]Ac-1ݒ肷Ə㉺]̊G`ł܂B

Window.drawRot( x, y, image, angle[, centerx[, centery[, z]]] )

  ]pxƒSw肵ĕ`悵܂B
  angle(px)0ƂāAvɑĂ360ň܂B
  center(S_)͉摜̍(0,0)Ƃ摜̉]Sʒu̎wŁAȗƉ摜̐^ɂȂ܂B

Window.drawAlpha( x, y, image, alpha[, z] )

  At@lw肵ĕ`悵܂B
  ͈͂0(Sɓ)255(Sɕs)܂łłB

Window.drawAdd( x, y, image[, z] )

  Z`܂B

Window.drawEx( x, y, image, hash )

  gk]ɂł܂B
  hashɂ͈ȉ̃L[wł܂B
  :scalex  EEE̊g嗦
  :scaley  EEEc̊g嗦
  :centerx  EEE]Ag̒S_
  :centery  EEE]Ag̒S_
  :alpha  EEEAt@l
  :add  EEEZ邩ǂtrue/falseŕ\
  :z  EEE`揇w

Window.drawFont( x, y, string, font[, color[, z]] )

  ̕`܂B
  string͕`悷镶AfontFontIuWFNgw肵ĂB
  color͕̐FŁAz[R, G, B]Aꂼ0`255Ŏw肵ĂB
  ȗ[255, 255, 255]AɂȂ܂B

Window.getScreenShot( filename[, format] )

  XN[Vbgt@Cɕۑ܂B
  format͕ۑ`ŁAFORMAT_JPGAFORMAT_PNGAFORMAT_BMP̂ǂꂩw肵ĂB
  ȗFORMAT_JPGɂȂ܂B

Window.fps

  ݂̉ʂ̍XVpx(1bԂɉXV邩)Ԃ܂B

Window.openFilename( filter, title )

  t@CI[v_CAO\܂B
  t@C̕񂪕ԂĂ܂B
  filterɂ[["ׂẴt@C(*.*)", "*.*"]["JPGt@C(*.jpg)", "*.jpg"]]̂悤Ȕzݒ肵܂B
  title̓_CAOɃ^Cgo[ɕ\镶ݒ肵܂B

Window.saveFilename( filter, title )

  t@CZ[u_CAO\܂B
  t@C̕񂪕ԂĂ܂B
  filterɂ[["ׂẴt@C(*.*)", "*.*"]["JPGt@C(*.jpg)", "*.jpg"]]̂悤Ȕzݒ肵܂B
  title̓_CAOɃ^Cgo[ɕ\镶ݒ肵܂B

RDQ ݒ

Window.x=val

  EBhE̕\ʒuw肵܂B
  Window.loop\bhĂяoOɐݒ肵ĂB
  \ʒuݒs킸Window.loop\bhĂяoꍇAOSftHgʒuɐݒ肳܂B

Window.y=val

  EBhE̕\ʒuw肵܂B
  Window.loop\bhĂяoOɐݒ肵ĂB
  \ʒuݒs킸Window.loop\bhĂяoꍇAOSftHgʒuɐݒ肳܂B

Window.width=val

  ʃTCY()w肵܂B
  Window.loop\bhĂяoOɐݒ肵ĂB
  TCYݒs킸Window.loop\bhĂяoꍇA640sNZɐݒ肳܂B

Window.height=val

  ʃTCY(c)w肵܂B
  Window.loop\bhĂяoOɐݒ肵ĂB
  TCYݒs킸Window.loop\bhĂяoꍇA480sNZɐݒ肳܂B

Window.caption=val

  ^Cgo[̃LvVwł܂B
  ݒs킸Window.loop\bhĂяoꍇAuNo TitlevƂȂ܂B

Window.scale=val

  EBhẺʃTCYɑ΂g嗦w肵܂B
  c䗦Kp܂B
  widthAheightŎw肵lɁA̒l|̂ۂ̃EBhẼTCYƂȂ܂B
  ݒs킸Window.loop\bhĂяoꍇA1{ɂȂ܂B

Window.windowed=val

  EBhE[h/tXN[[h̎ws܂B
  truew肷ƃEBhE[hŁAfalseŃtXN[[hɂȂ܂B
  ݒs킸Window.loop\bhĂяoꍇAEBhE[hɂȂ܂B

Window.fps=val

  ʂ̍XVpx(1bԂɉXV邩)w肵܂B
  ݒs킸Window.loop\bhĂяoꍇA60fpsɐݒ肳܂B



SDInputW[

L[{[hEQ[pbh̓͂܂B
DXRuby0.0.30.0.4ő啝Ƀ\bhAςĂ܂B

Input.x( pad_number )
Input.y( pad_number )

  pbh̕L[̓͂AXWYW̑(-1, 0, 1̂ꂩ)ŕԂ܂B
  pad_number͏ȗ0(pbhO̓L[{[hjɂȂ܂B

Input.keyDown?( key_code )
Input.keyPush?( key_code )

  L[{[h̃L[̉Ԃtrue(Ă)/false(ĂȂ)ŕԂ܂B
  keyDown?͉Ă邠AkeyPush?͉uԂ̂݁AtrueɂȂ܂B
  key_codeɎg萔͈ȉ̂̂łB

  K_ESCAPE
  K_TAB
  K_RETURN
  K_LCONTROL
  K_LSHIFT
  K_LMENU
  K_SPACE
  K_A
  K_S
  K_D
  K_Z
  K_X
  K_C
  K_V
  K_F1
  K_F2
  K_F3
  K_F4
  K_F5
  K_F6
  K_F7
  K_F8
  K_F9
  K_F10
  K_F11
  K_F12
  K_NUMPAD7
  K_NUMPAD8
  K_NUMPAD9
  K_NUMPAD4
  K_NUMPAD5
  K_NUMPAD6
  K_NUMPAD1
  K_NUMPAD2
  K_NUMPAD3
  K_NUMPAD0
  K_NUMPADENTER
  K_UP
  K_LEFT
  K_RIGHT
  K_DOWN


Input.padDown?( button_code, pad_number )
Input.padPush?( button_code, pad_number )

  pbh̃{^Ԃtrue(Ă)/false(ĂȂ)ŕԂ܂B
  padDown?͉Ă邠ApadPush?͉uԂ̂݁AtrueɂȂ܂B
  pad_number͏ȗ0(pbhO̓L[{[hjɂȂ܂B
  button_codeɎg萔͈ȉ̂̂łB

  P_UP
  P_LEFT
  P_RIGHT
  P_DOWN
  P_BUTTON0
  P_BUTTON1
  P_BUTTON2
  P_BUTTON3
  P_BUTTON4
  P_BUTTON5
  P_BUTTON6
  P_BUTTON7
  P_BUTTON8
  P_BUTTON9
  P_BUTTON10
  P_BUTTON11
  P_BUTTON12
  P_BUTTON13
  P_BUTTON14
  P_BUTTON15

  pad_number0̎AP_BUTTON0ZAP_BUTTON1XAP_BUTTON2C蓖ĂĂ܂B

Input.setRepeat( wait, interval )

  keyPush?ApadPush?\bhAI[gs[g[hɂ܂B
  wait͏߂̓͂ĂAs[gJn܂ł̎ԁit[j\܂B
  interval̓s[gJnẮA͂ONɂȂԊuit[jłB
  1ɂƖt[́A܂keyDown?/padDown?ƓɂȂ܂B
  0ɂƉłB

Input.mousePosX
Input.mousePosY

  }EX̍WԂ܂B

Input.mouseDown?( button )
Input.mousePush?( button )

  }EX̃{^Ԃtrue/falseŕԂ܂B
  mouseDown?͉Ă邠AmousePush?͉uԂ̂݁AtrueɂȂ܂B
  buttonM_LBUTTONAM_RBUTTONłꂼꍶ{^AE{^łB



TDImageNX

摜\NXłB

Image.new( width, height )

  width()/height()ŕ\TCÝASsNZFImageIuWFNg𐶐ĕԂ܂B

Image.load( filename[, width[, height]] )

  filenamẻ摜ǂݍ݁AImageIuWFNg𐶐ĕԂ܂B
  width/heightw肷Ƃ̃TCYɂȂ悤ɉEƉJbg邱Ƃł܂B
  T|[gt@C`jpgpngAbmp̑łAJ[L[͑ΉĂȂ̂œF̂GpngɂĂB
Image.loadToArray( filename, xcount, ycount )

  filenamẻ摜ǂݍ݁AEcꂼxcountAycountłƉ肵ĎŕA
  ォEɌImageIuWFNg̔z𐶐ĕԂ܂B
  T|[gt@C`jpgpngAbmp̑łAJ[L[͑ΉĂȂ̂œF̂GpngɂĂB

Image.createFromArray( width, height, array )

  Fi[z񂩂ImageIuWFNg𐶐ĕԂ܂B
  zalpha, red, green, bluêSsNẐׂłB
  )32~32sNZ̔lp[255, 255, 255, 255] * 32 * 32Ǝw肵܂B


\bh
setAget0.0.50.0.6[]=A[]ɕς܂B

[x, y]

ImageIuWFNg̊YsNZ̐FzŎ擾܂B
z[a, r, g, b]ƂȂ܂B
ꂼ0`255͈̔͂łB

[x, y]=color

ImageIuWFNg̊YsNZɐFݒ肵܂B
color͔zŁA[a, r, g, b]Ǝw肵܂B
ꂼ0`255͈̔͂łB

line(x1, y1, x2, y2, color)

ImageIuWFNg(x1,y1)-(x2,y2)ɐ`悵܂B

box(x1, y1, x2, y2, color)

ImageIuWFNg(x1,y1)-(x2,y2)͈̔͂hԂ܂B

circle(x, y, r, color)

ImageIuWFNg(x,y)𒆐SƂar̉~`܂B

circleFill(x, y, r, color)

ImageIuWFNg(x,y)𒆐SƂar̉~`AhԂ܂B


UDSoundNX

\NXłB
0.0.6ł܂ƂɂȂ܂B

Sound.new( filename )

  filenamẽt@Cǂݍ݁ASoundIuWFNg𐶐ĕԂ܂B
  t@C`.midiBGMpj.waviʉpjɑΉĂ܂B

\bh

play

  ʉƂčĐ܂B
  ɂłĐł܂B
  1ĐI܂B

bgmplay

  BGMƂčĐ܂B
  startAloopstartAloopendAloopcount炩ߐݒ肵ĂƁA[vȂǂ\ƂȂĂ܂B

start=

  ĐJnʒuݒ肵܂B
  l0ŁA4P768łB

loopStart=
loopEnd=
loopCount=
  [v̊JnʒuƏIʒuA[v񐔂ݒ肵܂B
  JnʒuAIʒȕl0ŁA4P768łB
  [v񐔂͏l1łB

stop

  ̍Đ~߂܂B

setVolume( volume[, time] )

  {[ݒ肵܂B
  volume0`255ŁA255őłB
  l230ƂȂĂ܂B
  time݂͌̒lݒl܂ł̕ωɂ鎞ԂŁA~bPʂŎw肵܂B
  ȗ0iɕύXjƂȂ܂B


VDSoundEffectNX

ʉ𐶐NXłB
`gŁAgƃ{[1msPʂŕω邱Ƃł܂B

SoundEffect.new( time ) { ... }

  ʉ𐶐܂B
  time̓~bPʂ̎ԂłB
  ubŃA1~bƂ̎gƃ{[̕ωԂ܂B
  time̐Ă΂܂B
  ubNԂl͔zŁA[g, {[]ƂĂB
  g44.1kHz܂ŁA{[0ōő255܂łłB

\bh

play

  ʉĐ܂B
  ɂłĐł܂A1SoundEffectIuWFNg͓1Đł܂B
  1ĐI܂B

stop

  ̍Đ~߂܂B


WDFontNX

tHg\NXłB
Window.drawFonẗƂĎg܂B

Font.new( size[, fontname] )

  sizẽ͕sNZŎw肵ĂB
  fontname̓tHgŁAȂ"lr "Ǝw肵܂iԂ͔pXy[XjB
  OԈĂ"lr SVbN"wɂȂ悤łB


XDCZX

LGPLRubyCZX̃fACZXł͂Ă܂B
ڍׂ͂ꂼ̃CZXǂ݂B


