sgl 0.4.0 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
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>