プログラミングで  図形ずけいを  動うごかして  みよう!

1. 四角形しかくけいを  描かく  プログラム

 

#まず  dxrubyと  いう  ライブラリを  使つかえるように  する。

require 'dxruby'

#Image  オブジェクトを  生成せいせい。

img1 = Image.new(640, 480, [0, 0, 0])

#白しろい  四角形しかくけいを  img1に  描かく。

img1.box_fill(100, 100, 250, 200, [255, 255, 255])

#ここから  無限むげん  ループ  スタート。

Window.loop do

  #img1  領域りょういきを  描かく。

  Window.draw(0, 0, img1)

end

  

2. 円えんと  線せんを  描かく  プログラム

 

#円えんを  描かく。

img1.circle_fill(340, 200, 50, C_WHITE)

#線せんを  描かく。

img1.line(20, 300, 500, 30, C_YELLOW)

  

3. 画像がぞうを  読よみ込こむ  プログラム

 

require 'dxruby'

#test.pngと  いう  画像がぞう  ファイルを  読よみ込こんで  img1と  いう  名前なまえを  つける。

img1 = Image.load('test.png')

#ここから  無限むげん  ループ  スタート。

Window.loop do

  #img1を  指定してい  した  座標ざひょうを  左上ひだりうえと  して  描びょう画が  する。

  Window.draw(100, 100, img1)

end

  

4. キーで  画像がぞうを  動うごかす  プログラム

 

require 'dxruby'

#test.pngと  いう  画像がぞう  ファイルを  読よみ込こんで  img1と  いう  名前なまえを  つける。

img1 = Image.load('test.png')

#画像がぞうの  触しょく察さつが  難むずかしいようなら  DV-2用ように  以下いかの  行ぎょうを  使つかう。

#img1 = Image.new(50, 50, C_WHITE)

 

#xと  yの  値あたいを  ゼロで  初期化しょきか  する。

x=0; y=0;

#ここから  無限むげん  ループ  スタート。

Window.loop do

  #xと  yを  更新こうしん  して  その  座標ざひょうで  img1を  描かく。

  x=x+Input.x; y=y+Input.y;

  Window.draw(x, y, img1)

end

  

5. ボールが  跳はね返かえる  プログラム

 

require 'dxruby'

img1 = Image.new(30, 30, C_BLACK)

img1.circle_fill(15, 15, 15, C_WHITE)

x=0;

#ここまでは  既すでに  学まなんだ  内容ないよう。  次つぎの  dxは  x方向ほうこうの  変化へんか分ぶん。

dx=1

#円えんを  縦たて方向ほうこうの  真まん中なかに  表示ひょうじ  する  ために  以下いかの  式しきで  yを  決きめる。

y=(Window.height-img1.height)/2

#無限むげん  ループ  スタート

Window.loop do

  #xを  dxだけ  変化へんか  させる  ために  x=x+dx  と  する。  x+=dx  と  いう  書かき方かたも  ある。

  x+=dx

  #xが  ウィンドウの  横よこ幅はばを  はみ出だそうに  なったら  方向ほうこうを  変かえる。

  if(x>Window.width-30) then

    #方向ほうこうを  変かえる。  ここは  dx*=-1  と  書かいても  良よい。

    dx=dx*(-1)

  end

  Window.draw(x, y, img1)

end

  

6. 音おとを  鳴ならす  プログラム

 

require 'dxruby'

#Sound  オブジェクトを  生成せいせい  して  snd1と  いう  名前なまえを  つける。

snd1 = Sound.new("C:¥¥Windows¥¥Media¥¥ding.wav")

#無限むげん  ループ  スタート。

Window.loop do

  #もし  SPACEキーが  押おされたら  snd1を  再生さいせい  する。

  if Input.key_push?(K_SPACE) then

      snd1.play

  end

end