sgl 0.4.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. data/ChangeLog +254 -234
  2. data/History.txt +6 -0
  3. data/Manifest.txt +10 -0
  4. data/Rakefile +27 -7
  5. data/examples/cocoa1-basic.rb +14 -14
  6. data/examples/cocoa10-transparent.rb +26 -26
  7. data/examples/cocoa11-application.rb +13 -13
  8. data/examples/cocoa2-draw.rb +23 -23
  9. data/examples/cocoa3-affine.rb +29 -29
  10. data/examples/cocoa4-font.rb +24 -24
  11. data/examples/cocoa5-image.rb +22 -22
  12. data/examples/cocoa6-sound.rb +24 -24
  13. data/examples/cocoa7-movie.rb +40 -40
  14. data/examples/cocoa8-movieoverlay.rb +42 -42
  15. data/examples/cocoa9-streaming.rb +40 -40
  16. data/examples/opengl1-basic.rb +14 -14
  17. data/examples/opengl11-application.rb +13 -13
  18. data/examples/opengl2-draw.rb +23 -23
  19. data/examples/opengl3-affine.rb +29 -29
  20. data/examples/sample1.rb +11 -11
  21. data/examples/sample10.rb +16 -16
  22. data/examples/sample11.rb +22 -22
  23. data/examples/sample11a.rb +33 -33
  24. data/examples/sample12.rb +30 -30
  25. data/examples/sample12a.rb +35 -35
  26. data/examples/sample13.rb +116 -116
  27. data/examples/sample15.rb +24 -24
  28. data/examples/sample16.rb +31 -31
  29. data/examples/sample16a.rb +35 -35
  30. data/examples/sample6.rb +18 -18
  31. data/examples/sample7.rb +16 -16
  32. data/examples/sample9.rb +20 -20
  33. data/examples/testgl.rb +169 -169
  34. data/lib/sgl/bass.rb +46 -46
  35. data/lib/sgl/cocoa-app.rb +43 -43
  36. data/lib/sgl/cocoa-color.rb +65 -65
  37. data/lib/sgl/cocoa-draw.rb +72 -72
  38. data/lib/sgl/cocoa-event.rb +229 -229
  39. data/lib/sgl/cocoa-media.rb +144 -144
  40. data/lib/sgl/cocoa-notuse.rb +493 -493
  41. data/lib/sgl/cocoa-window.rb +203 -203
  42. data/lib/sgl/cocoa.rb +8 -8
  43. data/lib/sgl/opengl-app.rb +38 -38
  44. data/lib/sgl/opengl-color.rb +44 -44
  45. data/lib/sgl/opengl-draw.rb +260 -260
  46. data/lib/sgl/opengl-event.rb +325 -325
  47. data/lib/sgl/opengl-modules.rb +22 -22
  48. data/lib/sgl/opengl-window.rb +224 -224
  49. data/lib/sgl/opengl.rb +7 -7
  50. data/lib/sgl/sgl-button.rb +135 -135
  51. data/lib/sgl/sgl-client.rb +21 -21
  52. data/lib/sgl/sgl-color.rb +68 -82
  53. data/lib/sgl/sgl-connect.rb +9 -9
  54. data/lib/sgl/sgl-server.rb +58 -58
  55. data/lib/sgl/sgl-spring.rb +216 -216
  56. data/lib/sgl/version.rb +2 -2
  57. data/scripts/lib-txt2html.rb +130 -0
  58. data/scripts/txt2html +2 -63
  59. data/spec/sgl_spec.rb +13 -0
  60. data/spec/spec.opts +1 -0
  61. data/spec/spec_helper.rb +1 -0
  62. data/test/test_cocoa_app.rb +291 -291
  63. data/test/test_module_ruby16.rb +30 -30
  64. data/test/test_opengl_app.rb +147 -147
  65. data/test/test_opengl_basic.rb +22 -22
  66. data/test/test_opengl_fullscreen.rb +23 -23
  67. data/test/test_opengl_novice.rb +35 -35
  68. data/website/challenge1.html +91 -91
  69. data/website/challenge1.txt +3 -3
  70. data/website/challenge2.html +143 -144
  71. data/website/challenge2.txt +13 -14
  72. data/website/challenge3.html +66 -63
  73. data/website/challenge3.txt +7 -7
  74. data/website/cocoa.html +85 -88
  75. data/website/cocoa.txt +2 -4
  76. data/website/description.html +138 -138
  77. data/website/description.txt +1 -1
  78. data/website/exercise1.html +262 -264
  79. data/website/exercise1.txt +58 -53
  80. data/website/exercise2.html +241 -683
  81. data/website/exercise2.txt +11 -427
  82. data/website/exercise3.html +206 -0
  83. data/website/exercise3.txt +155 -0
  84. data/website/exercise4.html +198 -0
  85. data/website/exercise4.txt +151 -0
  86. data/website/exercise5.html +162 -0
  87. data/website/exercise5.txt +113 -0
  88. data/website/exhibition.html +84 -84
  89. data/website/howto.html +146 -134
  90. data/website/howto.txt +9 -0
  91. data/website/index.html +178 -178
  92. data/website/index.txt +20 -19
  93. data/website/sound.html +141 -141
  94. metadata +16 -3
@@ -0,0 +1,151 @@
1
+ h1. 練習問題4
2
+
3
+ h2. 課題21: 速度
4
+
5
+ <pre syntax="ruby">
6
+ # kadai21.rb
7
+ require 'sgl'
8
+
9
+ def setup
10
+ window -200, -200, 200, 200
11
+ background 100
12
+ $x = 0
13
+ $y = 0
14
+ end
15
+
16
+ def display
17
+ x = mouseX
18
+ y = mouseY
19
+ speed = 20.0
20
+ vx = (x - $x)/speed
21
+ vy = (y - $y)/speed
22
+ $x = $x + vx
23
+ $y = $y + vy
24
+ color 100, 0, 0
25
+ circle($x, $y, 50, POLYGON)
26
+ end
27
+
28
+ mainloop
29
+ </pre>
30
+
31
+ 物の位置に加え,速度を導入する.円がマウスのところに近付こうとする.
32
+
33
+ <pre syntax="ruby">
34
+ require 'sgl'
35
+
36
+ def setup
37
+ window -200, -200, 200, 200
38
+ background 100
39
+ $pos=[]
40
+ for i in 0..9
41
+ $pos[i] = [-200 + i * 40, 0] # 最初の位置を指定する.
42
+ end
43
+ end
44
+
45
+ def display
46
+ x = mouseX
47
+ y = mouseY
48
+
49
+ speed = 10.0
50
+ for i in 0..9
51
+ pos = $pos[i]
52
+ vx = (x - pos[0]) / speed # マウスに吸い寄せられる速度
53
+ vy = (y - pos[1]) / speed
54
+ speed += 2.0 # 円によって速度が異なるようにする.
55
+ pos[0] = pos[0] + vx # マウスに吸い寄せられた位置
56
+ pos[1] = pos[1] + vy
57
+ color 100, 0, 0, 10
58
+ circle(pos[0], pos[1], 50, POLYGON)
59
+ end
60
+ end
61
+
62
+ mainloop
63
+ </pre>
64
+
65
+ 配列の使い方を説明する.
66
+
67
+ <pre syntax="ruby">
68
+ require 'sgl'
69
+
70
+ def setup
71
+ window -200, -200, 200, 200
72
+ background 100
73
+
74
+ $pos=[]
75
+ $orgpos=[]
76
+ for i in 0..19
77
+ $pos[i] = [-200 + i * 40, 0] # 最初の位置を指定する.
78
+ $orgpos[i] = [-200 + i * 40, 0] # もう一つ別の配列にも保存する.
79
+ end
80
+ end
81
+
82
+ def display
83
+ x = mouseX
84
+ y = mouseY
85
+
86
+ for i in 0..19
87
+ pos = $pos[i] # 現在の円の位置
88
+ orgpos = $orgpos[i] # 元々の位置
89
+
90
+ if mouseDown # ボタンが押されているときだけマウスに吸いつく.
91
+ vx = x - pos[0]
92
+ vy = y - pos[1]
93
+ mag = Math.sqrt(vx * vx + vy * vy)
94
+ mag = mag / 40
95
+ mag = mag * mag + 1
96
+ vx = vx / mag
97
+ vy = vy / mag
98
+ pos[0] = pos[0] + vx
99
+ pos[1] = pos[1] + vy
100
+ end
101
+
102
+ speed = 3.0
103
+ vx2 = (orgpos[0] - pos[0]) / speed # 元々の位置に吸い寄せられる速度
104
+ vy2 = (orgpos[1] - pos[1]) / speed
105
+ pos[0] = pos[0] + vx2 # マウスに吸い寄せられた位置
106
+ pos[1] = pos[1] + vy2
107
+ color 100, 0, 0, 30
108
+ circle(pos[0], pos[1], 50, POLYGON)
109
+ end
110
+ end
111
+
112
+ mainloop
113
+ </pre>
114
+
115
+ マウスにすいよせられる円.マウスボタンを押しているときだけ反応する.
116
+
117
+ <pre syntax="ruby">
118
+ require 'sgl'
119
+
120
+ def setup
121
+ window -200, -200, 200, 200
122
+ background 100
123
+ $xpos = [] # 配列を準備する.
124
+ $ypos = []
125
+ for i in 0..9
126
+ $xpos[i] = -200 + i * 40
127
+ $ypos[i] = 0
128
+ end
129
+ end
130
+
131
+ def display
132
+ x = mouseX
133
+ y = mouseY
134
+
135
+ speed = 10.0
136
+ for i in 0..9
137
+ vx = (x - $xpos[i]) / speed # マウスに吸い寄せられる速度
138
+ vy = (y - $ypos[i]) / speed
139
+ speed += 2.0 # 円によって速度が異なるようにする.
140
+ $xpos[i] = $xpos[i] + vx # マウスに吸い寄せられた位置
141
+ $ypos[i] = $ypos[i] + vy
142
+ color 100, 0, 0, 10
143
+ circle($xpos[i], $ypos[i], 50, POLYGON)
144
+ end
145
+ end
146
+
147
+ mainloop
148
+ </pre>
149
+
150
+ 配列の使い方を変更した.
151
+
@@ -0,0 +1,162 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <link rel="stylesheet" href="stylesheets/screen.css" type="text/css" media="screen" />
6
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7
+ <title>
8
+ 練習問題5
9
+ </title>
10
+ <script src="javascripts/rounded_corners_lite.inc.js" type="text/javascript"></script>
11
+ <style>
12
+
13
+ </style>
14
+ <script type="text/javascript">
15
+ window.onload = function() {
16
+ settings = {
17
+ tl: { radius: 10 },
18
+ tr: { radius: 10 },
19
+ bl: { radius: 10 },
20
+ br: { radius: 10 },
21
+ antiAlias: true,
22
+ autoPad: true,
23
+ validTags: ["div"]
24
+ }
25
+ var versionBox = new curvyCorners(settings, document.getElementById("version"));
26
+ versionBox.applyCornersToAll();
27
+ }
28
+ </script>
29
+ </head>
30
+ <body>
31
+ <div id="main">
32
+
33
+ <h1>練習問題5</h1>
34
+ <div id="version" class="clickable" onclick='document.location = "http://rubyforge.org/projects/sgl"; return false'>
35
+ <p>Get Version</p>
36
+ <a href="http://rubyforge.org/projects/sgl" class="numbers">1.0.0</a>
37
+ </div>
38
+ <h2>課題22: キーボードからの入力を受け取る</h2>
39
+
40
+
41
+ <pre syntax="ruby">
42
+ # kadai22.rb
43
+ require 'sgl'
44
+
45
+ def setup
46
+ window 200, 200
47
+ background 100
48
+ $key = 0
49
+ end
50
+
51
+ def onKeyDown(key)
52
+ p key
53
+ $key = key
54
+ end
55
+
56
+ def display
57
+ colorHSV $key, 100, 100
58
+ line $key, 0, $key, 200
59
+ end
60
+
61
+ mainloop
62
+ </pre>
63
+
64
+ <p>アルファベットのキーを押すと,keyに1〜26の値が入る.Aが1,Zが26という
65
+ 関係になる.</p>
66
+
67
+
68
+ <p>それら以外のキーを押したときにどのようなキーコードになるかは,
69
+ <code>c:\ruby\doc\rubysdl\rubysdl_const_list.txt</code> に記述されている.
70
+ 数字の0が押されたときは,<code>SDL::Key::K0</code>という値となる.</p>
71
+
72
+
73
+ <h2>課題23: 配列の使い方をもう一度考える</h2>
74
+
75
+
76
+ <pre syntax="ruby">
77
+ # kadai23.rb
78
+ require 'sgl'
79
+
80
+ def setup
81
+ window -200, -200, 200, 200
82
+ background 100
83
+ $pos = [] # 中身が空の配列を用意する.
84
+ for a in 0..10 # 配列の要素それぞれについて繰り返す.
85
+ $pos[a] = 0 # 中身に全部0を入れておく.
86
+ end
87
+ $index = 0 # 現在配列のどこの部分を指しているかを示す変数である.
88
+ end
89
+
90
+ def display
91
+ $pos[$index] = mouseX # 配列の$indexの示す個所に現在のマウスのx座標を入れる.
92
+
93
+ for a in 0..10 # 配列の要素それぞれについて繰り返します.
94
+ x = $pos[a]
95
+ color 0
96
+ line x, -100, x, 100 # 縦線を描く.
97
+ end
98
+
99
+ $index = $index + 1 # 現在を示す$indexを次の値のところにセットする.
100
+ if 10 &lt; $index # $indexが配列の大きさを越えたら0にセットしなおす.
101
+ $index = 0
102
+ end
103
+
104
+ p $pos # $posという配列の中身を表示する.
105
+ end
106
+
107
+ mainloop
108
+ </pre>
109
+
110
+ <p>配列の使い方の基本形である.縦線が,マウスの動きを追って動く.つまりマ
111
+ ウスのx座標だけを保存している.x座標,y座標を保存するとどうなるか,実
112
+ 験する.</p>
113
+
114
+
115
+ <pre syntax="ruby">
116
+ require 'sgl'
117
+
118
+ def setup
119
+ window -200, -200, 200, 200
120
+ background 100
121
+ $xpos = [] # 中身が空の配列を,x座標,y座標について用意する.
122
+ $ypos = []
123
+ for a in 0..10 # 配列の要素それぞれについて繰り返す.
124
+ $xpos[a] = 0
125
+ $ypos[a] = 0
126
+ end
127
+ $index = 0 # 現在配列のどこの部分を指しているかを示す変数.
128
+ end
129
+
130
+ def display
131
+ $xpos[$index] = mouseX
132
+ $ypos[$index] = mouseY
133
+
134
+ for a in 0..10 # 配列の要素それぞれについて繰り返す.
135
+ x = $xpos[a]
136
+ y = $ypos[a]
137
+ color 0
138
+ circle x, y, 50
139
+ end
140
+
141
+ $index = $index + 1 # 現在を示す$indexを,次の値のところにセットする.
142
+ if 10 &lt; $index # $indexが配列の最大を越えたら,0にセットしなおす.
143
+ $index = 0
144
+ end
145
+
146
+ p $xpos
147
+ p $ypos
148
+ end
149
+
150
+ mainloop
151
+ </pre>
152
+
153
+ <p>このように値を保存する配列を増やしていくようにする.</p>
154
+ <p class="coda">
155
+ 30th June 2007<br>
156
+ </p>
157
+ </div>
158
+
159
+ <!-- insert site tracking codes here, like Google Urchin -->
160
+
161
+ </body>
162
+ </html>
@@ -0,0 +1,113 @@
1
+ h1. 練習問題5
2
+
3
+ h2. 課題22: キーボードからの入力を受け取る
4
+
5
+ <pre syntax="ruby">
6
+ # kadai22.rb
7
+ require 'sgl'
8
+
9
+ def setup
10
+ window 200, 200
11
+ background 100
12
+ $key = 0
13
+ end
14
+
15
+ def onKeyDown(key)
16
+ p key
17
+ $key = key
18
+ end
19
+
20
+ def display
21
+ colorHSV $key, 100, 100
22
+ line $key, 0, $key, 200
23
+ end
24
+
25
+ mainloop
26
+ </pre>
27
+
28
+ アルファベットのキーを押すと,keyに1〜26の値が入る.Aが1,Zが26という
29
+ 関係になる.
30
+
31
+ それら以外のキーを押したときにどのようなキーコードになるかは,
32
+ @c:\ruby\doc\rubysdl\rubysdl_const_list.txt@ に記述されている.
33
+ 数字の0が押されたときは,@SDL::Key::K0@という値となる.
34
+
35
+ h2. 課題23: 配列の使い方をもう一度考える
36
+
37
+ <pre syntax="ruby">
38
+ # kadai23.rb
39
+ require 'sgl'
40
+
41
+ def setup
42
+ window -200, -200, 200, 200
43
+ background 100
44
+ $pos = [] # 中身が空の配列を用意する.
45
+ for a in 0..10 # 配列の要素それぞれについて繰り返す.
46
+ $pos[a] = 0 # 中身に全部0を入れておく.
47
+ end
48
+ $index = 0 # 現在配列のどこの部分を指しているかを示す変数である.
49
+ end
50
+
51
+ def display
52
+ $pos[$index] = mouseX # 配列の$indexの示す個所に現在のマウスのx座標を入れる.
53
+
54
+ for a in 0..10 # 配列の要素それぞれについて繰り返します.
55
+ x = $pos[a]
56
+ color 0
57
+ line x, -100, x, 100 # 縦線を描く.
58
+ end
59
+
60
+ $index = $index + 1 # 現在を示す$indexを次の値のところにセットする.
61
+ if 10 < $index # $indexが配列の大きさを越えたら0にセットしなおす.
62
+ $index = 0
63
+ end
64
+
65
+ p $pos # $posという配列の中身を表示する.
66
+ end
67
+
68
+ mainloop
69
+ </pre>
70
+
71
+ 配列の使い方の基本形である.縦線が,マウスの動きを追って動く.つまりマ
72
+ ウスのx座標だけを保存している.x座標,y座標を保存するとどうなるか,実
73
+ 験する.
74
+
75
+ <pre syntax="ruby">
76
+ require 'sgl'
77
+
78
+ def setup
79
+ window -200, -200, 200, 200
80
+ background 100
81
+ $xpos = [] # 中身が空の配列を,x座標,y座標について用意する.
82
+ $ypos = []
83
+ for a in 0..10 # 配列の要素それぞれについて繰り返す.
84
+ $xpos[a] = 0
85
+ $ypos[a] = 0
86
+ end
87
+ $index = 0 # 現在配列のどこの部分を指しているかを示す変数.
88
+ end
89
+
90
+ def display
91
+ $xpos[$index] = mouseX
92
+ $ypos[$index] = mouseY
93
+
94
+ for a in 0..10 # 配列の要素それぞれについて繰り返す.
95
+ x = $xpos[a]
96
+ y = $ypos[a]
97
+ color 0
98
+ circle x, y, 50
99
+ end
100
+
101
+ $index = $index + 1 # 現在を示す$indexを,次の値のところにセットする.
102
+ if 10 < $index # $indexが配列の最大を越えたら,0にセットしなおす.
103
+ $index = 0
104
+ end
105
+
106
+ p $xpos
107
+ p $ypos
108
+ end
109
+
110
+ mainloop
111
+ </pre>
112
+
113
+ このように値を保存する配列を増やしていくようにする.
@@ -1,84 +1,84 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
- <head>
5
- <link rel="stylesheet" href="stylesheets/screen.css" type="text/css" media="screen" />
6
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7
- <title>
8
- 作品合同展示
9
- </title>
10
- <script src="javascripts/rounded_corners_lite.inc.js" type="text/javascript"></script>
11
- <style>
12
-
13
- </style>
14
- <script type="text/javascript">
15
- window.onload = function() {
16
- settings = {
17
- tl: { radius: 10 },
18
- tr: { radius: 10 },
19
- bl: { radius: 10 },
20
- br: { radius: 10 },
21
- antiAlias: true,
22
- autoPad: true,
23
- validTags: ["div"]
24
- }
25
- var versionBox = new curvyCorners(settings, document.getElementById("version"));
26
- versionBox.applyCornersToAll();
27
- }
28
- </script>
29
- </head>
30
- <body>
31
- <div id="main">
32
-
33
- <h1>作品合同展示</h1>
34
- <div id="version" class="clickable" onclick='document.location = "http://rubyforge.org/projects/sgl"; return false'>
35
- <p>Get Version</p>
36
- <a href="http://rubyforge.org/projects/sgl" class="numbers">0.4.0</a>
37
- </div>
38
- <h2>合同展示</h2>
39
-
40
-
41
- <ul>
42
- <li>展示場所,見せ方について考える.複数のプログラムを統合したものを見せる.</li>
43
- <li>まずは全員のプログラムをお互いに観賞し,どのような作品ができたかを見る.</li>
44
- <li>useFullScreenを使って画面を最大化する.必要な変更をする.
45
- <ul>
46
- <li>全画面使用に伴い,デザインを変更する必要がある.</li>
47
- </ul>
48
- </li>
49
- <li>キーボードは展示に出さないため,マウスだけで操作できるようにする.
50
- <ul>
51
- <li>どのように変更すればいいかを説明する.</li>
52
- </ul>
53
- </li>
54
- <li>複数のプログラムを連結する方法について説明する.
55
- <ul>
56
- <li>展示用のファイル名を指定する.指定したディレクトリーにそのファイルを置く.</li>
57
- </ul>
58
- </li>
59
- <li>展示についてのリーダーを決める.</li>
60
- </ul>
61
-
62
-
63
- <h2>サウンド機能</h2>
64
-
65
-
66
- <ul>
67
- <li>作品はサウンドのあるなしで大分印象が違う.</li>
68
- <li>音をつける手順について説明する.</li>
69
- <li>まずどのような音をつけるか考える.後で変えられるので簡単でよい.</li>
70
- <li>サンプル音は,マイクで取り込む,フリーのサンプル音を使う,MP3から切り出すなどがある.</li>
71
- <li>波形編集ソフトで必要な部分だけを抜き出す.0.1秒くらいを目途にする.</li>
72
- <li>useSoundの使い方を学ぶ.</li>
73
- <li>サウンドファイルを再生する方法.音程,音量,パンなどを指定できる.</li>
74
- <li>小さい音を重ねて再生するようにすると効果的である.50音程度は再生できる.</li>
75
- </ul>
76
- <p class="coda">
77
- 20th June 2007<br>
78
- </p>
79
- </div>
80
-
81
- <!-- insert site tracking codes here, like Google Urchin -->
82
-
83
- </body>
84
- </html>
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <link rel="stylesheet" href="stylesheets/screen.css" type="text/css" media="screen" />
6
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7
+ <title>
8
+ 作品合同展示
9
+ </title>
10
+ <script src="javascripts/rounded_corners_lite.inc.js" type="text/javascript"></script>
11
+ <style>
12
+
13
+ </style>
14
+ <script type="text/javascript">
15
+ window.onload = function() {
16
+ settings = {
17
+ tl: { radius: 10 },
18
+ tr: { radius: 10 },
19
+ bl: { radius: 10 },
20
+ br: { radius: 10 },
21
+ antiAlias: true,
22
+ autoPad: true,
23
+ validTags: ["div"]
24
+ }
25
+ var versionBox = new curvyCorners(settings, document.getElementById("version"));
26
+ versionBox.applyCornersToAll();
27
+ }
28
+ </script>
29
+ </head>
30
+ <body>
31
+ <div id="main">
32
+
33
+ <h1>作品合同展示</h1>
34
+ <div id="version" class="clickable" onclick='document.location = "http://rubyforge.org/projects/sgl"; return false'>
35
+ <p>Get Version</p>
36
+ <a href="http://rubyforge.org/projects/sgl" class="numbers">1.0.0</a>
37
+ </div>
38
+ <h2>合同展示</h2>
39
+
40
+
41
+ <ul>
42
+ <li>展示場所,見せ方について考える.複数のプログラムを統合したものを見せる.</li>
43
+ <li>まずは全員のプログラムをお互いに観賞し,どのような作品ができたかを見る.</li>
44
+ <li>useFullScreenを使って画面を最大化する.必要な変更をする.
45
+ <ul>
46
+ <li>全画面使用に伴い,デザインを変更する必要がある.</li>
47
+ </ul>
48
+ </li>
49
+ <li>キーボードは展示に出さないため,マウスだけで操作できるようにする.
50
+ <ul>
51
+ <li>どのように変更すればいいかを説明する.</li>
52
+ </ul>
53
+ </li>
54
+ <li>複数のプログラムを連結する方法について説明する.
55
+ <ul>
56
+ <li>展示用のファイル名を指定する.指定したディレクトリーにそのファイルを置く.</li>
57
+ </ul>
58
+ </li>
59
+ <li>展示についてのリーダーを決める.</li>
60
+ </ul>
61
+
62
+
63
+ <h2>サウンド機能</h2>
64
+
65
+
66
+ <ul>
67
+ <li>作品はサウンドのあるなしで大分印象が違う.</li>
68
+ <li>音をつける手順について説明する.</li>
69
+ <li>まずどのような音をつけるか考える.後で変えられるので簡単でよい.</li>
70
+ <li>サンプル音は,マイクで取り込む,フリーのサンプル音を使う,MP3から切り出すなどがある.</li>
71
+ <li>波形編集ソフトで必要な部分だけを抜き出す.0.1秒くらいを目途にする.</li>
72
+ <li>useSoundの使い方を学ぶ.</li>
73
+ <li>サウンドファイルを再生する方法.音程,音量,パンなどを指定できる.</li>
74
+ <li>小さい音を重ねて再生するようにすると効果的である.50音程度は再生できる.</li>
75
+ </ul>
76
+ <p class="coda">
77
+ 30th June 2007<br>
78
+ </p>
79
+ </div>
80
+
81
+ <!-- insert site tracking codes here, like Google Urchin -->
82
+
83
+ </body>
84
+ </html>