質問編集履歴

1

追記してみました。

2017/09/03 15:11

投稿

himejiy3
himejiy3

スコア77

test CHANGED
File without changes
test CHANGED
@@ -165,3 +165,95 @@
165
165
 
166
166
 
167
167
  ```
168
+
169
+
170
+
171
+ (追記)2017-09-04-0:08
172
+
173
+ 分かり難い質問になってしまい、すみません。追記します。
174
+
175
+
176
+
177
+ 以下の部分で、
178
+
179
+ angle0.5度でいったん表示、angle1度でまた表示、1.5度で表示、2度で表示・・・
180
+
181
+ と繰り返せばラインが伸びていく様子が描画されるかな、と思っています。
182
+
183
+
184
+
185
+ ```javascript
186
+
187
+ while (angle <= 360) {
188
+
189
+ const x = 150 * Math.sin(a * angle * Math.PI / 180);
190
+
191
+ const y = 150 * Math.sin(b * angle * Math.PI / 180);
192
+
193
+ if (angle === 0) {
194
+
195
+ graph.moveTo(xHalf + x, yHalf - y);
196
+
197
+ } else {
198
+
199
+ graph.lineTo(xHalf + x, yHalf - y);
200
+
201
+ }
202
+
203
+ graph.strokeStyle = "blue";
204
+
205
+ graph.stroke();
206
+
207
+ angle += 0.5;
208
+
209
+ }
210
+
211
+
212
+
213
+ ```
214
+
215
+ イメージとしては下から3行目を
216
+
217
+ setTimeout(graph.stroke(), 300); とか setInterval(graph.stroke(), 300);
218
+
219
+ のようにする感じです。
220
+
221
+ (あくまでイメージです。これでは動きません。)
222
+
223
+
224
+
225
+ それをangle360度まで繰り返せば、
226
+
227
+ じわじわ伸びるラインが表示されるのではないかと。
228
+
229
+
230
+
231
+ もしくは、
232
+
233
+ while (angle <= 360) {
234
+
235
+ の360の部分を100にしたり180にしたりすると途中経過が表示されることは分かっているので、ここが引数で渡される関数を作る方法にもチャレンジしましたがダメでした。
236
+
237
+
238
+
239
+ いずれにせよ処理を遅延させるメソッドの理解が乏しいようで、
240
+
241
+ ネット検索で出てくる例文は理解出来たつもりでも、それを真似して組み込むと失敗します。
242
+
243
+ 変更前同様、グラフが一瞬で表示されてしまうか、まったく表示されなくなってしまうか。
244
+
245
+
246
+
247
+ この作業中、ESLintには
248
+
249
+ Don't make functions within a loop. (no-loop-func)
250
+
251
+ (ループ内で関数を作成しないでください)
252
+
253
+ と、よく怒られているところです。
254
+
255
+
256
+
257
+ グラフの『完成図形』が目的ではなく、
258
+
259
+ グラフのドットが伸びていく『過程』を見られるようにしたいです。