質問編集履歴

3

行の修正

2017/08/09 16:31

投稿

rainy
rainy

スコア6

test CHANGED
File without changes
test CHANGED
@@ -26,698 +26,684 @@
26
26
 
27
27
  ###発生している問題・エラーメッセージ
28
28
 
29
+ ```エラー内容
30
+
31
+ The key "initial" is not recognized and ignored.
32
+
33
+ 284002IgarashiEri-kimatukadai2.html:5 The key "1" is not recognized and ignored.
34
+
35
+ (unknown) Uncaught ReferenceError: draw_yasai2 is not defined
36
+
37
+ at <anonymous>:1:1
38
+
39
+ (unknown) Uncaught ReferenceError: draw_yasai2 is not defined
40
+
41
+ at <anonymous>:1:1
42
+
43
+
44
+
45
+
46
+
47
+
48
+
49
+ (unknown) Uncaught ReferenceError: draw_kare is not defined
50
+
51
+ at <anonymous>:1:1
52
+
53
+ (unknown) Uncaught ReferenceError: draw_yasai2 is not defined
54
+
55
+ at <anonymous>:1:1
56
+
57
+ (unknown) Uncaught ReferenceError: draw_yasai2 is not defined
58
+
59
+ at <anonymous>:1:1
60
+
61
+
62
+
63
+
64
+
65
+
66
+
67
+ (unknown) Uncaught ReferenceError: draw_kare is not defined
68
+
69
+ at <anonymous>:1:1
70
+
71
+ (unknown) Uncaught ReferenceError: draw_yasai2 is not defined
72
+
73
+ at <anonymous>:1:1
74
+
75
+
76
+
77
+
78
+
79
+
80
+
29
81
 
30
82
 
31
83
  ```
32
84
 
33
-
85
+ ###該当のソースコード
86
+
87
+
88
+
34
-
89
+ ```Javascript
90
+
35
-
91
+ ```<!doctype html>
92
+
93
+ <html><head>
94
+
95
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
96
+
97
+ <meta charset="utf-8">
98
+
99
+ <meta name="viewport" content="width=device-width,initial=scale=1">
100
+
101
+ <title>プログラミング演習2</title>
102
+
103
+ <script>
104
+
105
+ //グローバル変数
106
+
107
+ var canvas=null; //canvas要素
108
+
109
+ var context=null; //グラフィックの2D描画用コンテキスト
110
+
111
+ var backimg=null; //背景画像
112
+
113
+ var hatoimg=null; //hatoの画像
114
+
115
+ var yasaiimg=null; //yasaiの画像
116
+
117
+ var kareimg=null; //kareの画像
118
+
119
+ var rectX=450; //x軸方向の位置
120
+
121
+ var rectY=150; //y軸方向の位置
122
+
123
+ var shiftX1=100; //x軸方向の位置(hato)
124
+
125
+ var shiftY1=80; //y軸方向の位置(hato)
126
+
127
+ var dx=7.0; //x軸方向の移動位置
128
+
129
+ var dy=5.0; //y軸方向の移動位置
130
+
131
+ var shiftX2=100; //x軸方向の位置(hato)
132
+
133
+ var shiftY2=250; //y軸方向の位置(hato)
134
+
135
+ var dx2=6.0; //x軸方向の移動位置
136
+
137
+ var dy2=4.0; //y軸方向の移動位置
138
+
139
+ var shiftX3=800; //x軸方向の位置(yasai)
140
+
141
+ var shiftY3=30; //y軸方向の位置(yasai)
142
+
143
+ var dx3=8.0; //x軸方向の移動位置
144
+
145
+ var dy3=6.0; //y軸方向の移動位置
146
+
147
+ var shiftX4=800; //x軸方向の位置(hato)
148
+
149
+ var shiftY4=300; //y軸方向の位置(hato)
150
+
151
+ var dx4=10.0; //x軸方向の移動位置
152
+
153
+ var dy4=8.0; //y軸方向の移動位置
154
+
155
+ var shiftX5=300; //x軸方向の位置(yasai)
156
+
157
+ var shiftY5=600; //y軸方向の位置(yasai)
158
+
159
+ var dx5=5.0; //x軸方向の移動位置
160
+
161
+ var dy5=6.0; //y軸方向の移動位置
162
+
163
+ var shiftX6=400; //x軸方向の位置(kare)
164
+
165
+ var shiftY6=100; //y軸方向の位置(kare)
166
+
167
+ var dx6=9.0; //x軸方向の移動位置
168
+
169
+ var dy6=7.0; //y軸方向の移動位置
170
+
171
+ var timer_id; //タイマーID
172
+
173
+ var timer_id2; //タイマーID
174
+
175
+ var timer_id3; //タイマーID
176
+
177
+
178
+
179
+
180
+
181
+ //webページが読み込まれたら呼び出す関数
182
+
183
+ function initial(){
184
+
185
+ //描画コンテキストの取得
186
+
187
+ //canvas要素を取得
188
+
189
+ canvas=document.getElementById("canvas_sample");
190
+
191
+ //グラフィックの2D描画用コンテキストを取得
192
+
193
+ context=canvas.getContext("2d");
194
+
195
+ //画像ファイルを読み込んで利用する
196
+
197
+ //Imageオブジェクトを新規作成
198
+
199
+ backimg=new Image();
200
+
201
+ //背景画像ファイルを読み込んでオブジェクトに代入
202
+
203
+ backimg.src="./課題2画像/haikei.png";
204
+
205
+ //Imageオブジェクトを新規作成
206
+
207
+ hatoimg=new Image();
208
+
209
+ //飛行機の画像ファイルを読み込んでオブジェクトに代入
210
+
211
+ hatoimg.src="./課題2画像/bird_densyobato.png";
212
+
213
+ //Imageオブジェクトを新規作成
214
+
215
+ yasaiimg=new Image();
216
+
217
+ //花の画像ファイルを読み込んでオブジェクトに代入
218
+
219
+ yasaiimg.src="./課題2画像/img_topical01.png";
220
+
221
+ //Imageオブジェクトを新規作成
222
+
223
+ kareimg=new Image();
224
+
225
+ //蝶々の画像ファイルを読み込んでオブジェクトに代入
226
+
227
+ kareimg.src="./課題2画像/food_curryruce.png";
228
+
229
+ //画像ファイル読み込みを非同期で処理
230
+
231
+ //onloadイベントを使って、画像の読み込みが完了してから
232
+
233
+ //背景画像処理を描画する
234
+
235
+ hatoimg.onload=function(){
236
+
237
+ context.drawImage(backimg,0,0); //背景画像
238
+
239
+ }
240
+
241
+ }
242
+
243
+
244
+
245
+
246
+
247
+ //背景画像の描画
248
+
249
+ function draw_backimg(){
250
+
251
+ if(timer_id3||timer_id2||timer_id){ //タイマーIDが存在していれば、
252
+
253
+ window.clearInterval(timer_id); //タイマーを停止する
254
+
255
+ timer_id=undefined; //タイマーIDをundefinedにする
256
+
257
+ window.clearInterval(timer_id2); //タイマーを停止する
258
+
259
+ timer_id2=undefined; //タイマーIDをundefinedにする
260
+
261
+ window.clearInterval(timer_id3); //タイマーを停止する
262
+
263
+ timer_id3=undefined; //タイマーIDをundefinedにする
264
+
265
+ }
266
+
267
+
268
+
269
+ context.drawImage(backimg,0,0);
270
+
271
+
272
+
273
+ }//背景画像
274
+
275
+
276
+
277
+
278
+
279
+
280
+
281
+ //hatoを横方向に動かしながら描く
282
+
283
+ function draw1(){
284
+
285
+ if(timer_id3||timer_id2||timer_id){ //タイマーIDが存在していれば、
286
+
287
+ window.clearInterval(timer_id); //タイマーを停止する
288
+
289
+ timer_id=undefined; //タイマーIDをundefinedにする
290
+
291
+ window.clearInterval(timer_id2); //タイマーを停止する
292
+
293
+ timer_id2=undefined; //タイマーIDをundefinedにする
294
+
295
+ window.clearInterval(timer_id3); //タイマーを停止する
296
+
297
+ timer_id3=undefined; //タイマーIDをundefinedにする
298
+
299
+
300
+
301
+ }
302
+
303
+ //タイマー処理で定期的に実行
304
+
305
+ timer_id = window.setInterval("draw_hato1()",50);
306
+
307
+ }
308
+
309
+ //描画メイン処理:hatoを横方向に動かしながら描く
310
+
311
+ function draw_hato1(){
312
+
313
+ //hatoの描画前にキャンバスを初期状態にすると軌跡が見えない
314
+
315
+ context.drawImage(backimg,0,0); //背景画像描画
316
+
317
+ context.drawImage(hatoimg,shiftX1,shiftY1,200,200);//ookisa
318
+
319
+ //位置を更新
320
+
321
+ shiftX1-=dx;
322
+
323
+ //動く範囲を決め、範囲外の場合は向きを変える
324
+
325
+ if(shiftX1<30){
326
+
327
+ dx*=-1;
328
+
329
+ }
330
+
331
+ if(shiftX1>100){
332
+
333
+ dx*=-1;
334
+
335
+ }
336
+
337
+ }
338
+
339
+
340
+
341
+ //
342
+
343
+
344
+
345
+ //hatoとyasaiを縦方向に動かしながら描く
346
+
347
+ function draw2(){
348
+
349
+
350
+
351
+ if(timer_id3||timer_id2||timer_id){ //タイマーIDが存在していれば、
352
+
353
+ window.clearInterval(timer_id); //タイマーを停止する
354
+
355
+ timer_id=undefined; //タイマーIDをundefinedにする
356
+
357
+ window.clearInterval(timer_id2); //タイマーを停止する
358
+
359
+ timer_id2=undefined; //タイマーIDをundefinedにする
360
+
361
+ window.clearInterval(timer_id3); //タイマーを停止する
362
+
363
+ timer_id3=undefined; //タイマーIDをundefinedにする
364
+
365
+
366
+
367
+ }
368
+
369
+ //タイマー処理で定期的に実行
370
+
371
+ timer_id = window.setInterval("draw_hato2()",35);
372
+
373
+ timer_id2 = window.setInterval("draw_yasai()",20);
374
+
375
+ }
376
+
377
+ //描画メイン処理:hatoを下から上に縦方向に動かしながら描く
378
+
379
+ function draw_hato2(){
380
+
381
+ //hatoとyasaiの描画前にキャンバスを初期状態にすると軌跡が見えない
382
+
383
+ context.drawImage(backimg,0,0); //背景画像描画
384
+
385
+ context.drawImage(hatoimg,shiftX2,shiftY2,150,150);//ookisa
386
+
387
+
388
+
389
+ shiftY2+=dy2;
390
+
391
+
392
+
393
+ if(shiftY2<30){
394
+
395
+ dy2*=-1;
396
+
397
+ if(shiftY2>300){
398
+
399
+ dy2*=-1;
400
+
401
+ }
402
+
403
+
404
+
405
+ }
406
+
407
+ }
408
+
409
+ //描画メイン処理:yasaiを上から下に縦方向に動かしながら描く
410
+
411
+ function draw_yasai(){
412
+
413
+ //hatoとyasaiの描画前にキャンバスを初期状態にすると軌跡が見えない
414
+
415
+ context.drawImage(backimg,0,0); //背景画像描画
416
+
417
+ context.drawImage(yasaiimg,shiftX3,shiftY3,200,200);
418
+
419
+
420
+
421
+ //位置を更新
422
+
423
+
424
+
425
+ shiftY3-=dy3;
426
+
427
+ //動く範囲を決め、範囲外の場合は向きを変える
428
+
429
+
430
+
431
+
432
+
433
+ if(shiftY3<30){
434
+
435
+ dy3*=-1;
436
+
437
+ }
438
+
439
+ if(shiftY3>300){
440
+
441
+ dy3*=-1;
442
+
443
+ }
444
+
445
+
446
+
447
+ }
448
+
449
+
450
+
451
+
452
+
453
+
454
+
455
+ //kareを動かしながら描く
456
+
457
+ function draw3(){
458
+
459
+
460
+
461
+ if(timer_id3||timer_id2||timer_id){ //タイマーIDが存在していれば、
462
+
463
+ window.clearInterval(timer_id); //タイマーを停止する
464
+
465
+ timer_id=undefined; //タイマーIDをundefinedにする
466
+
467
+ window.clearInterval(timer_id2); //タイマーを停止する
468
+
469
+ timer_id2=undefined; //タイマーIDをundefinedにする
470
+
471
+ window.clearInterval(timer_id3); //タイマーを停止する
472
+
473
+ timer_id3=undefined; //タイマーIDをundefinedにする
474
+
475
+
476
+
477
+ }
478
+
479
+
480
+
481
+ //タイマー処理で定期的に実行
482
+
483
+ timer_id = window.setInterval("draw_hato3()",300);
484
+
485
+ timer_id2 = window.setInterval("draw_yasai2()",30);
486
+
487
+ timer_id3 = window.setInterval("draw_kare()",500);
488
+
489
+ }
490
+
491
+
492
+
493
+
494
+
495
+
496
+
497
+
498
+
499
+
500
+
501
+ //描画メイン処理:kareを動かしながら描く
502
+
503
+ function draw_hato3(){
504
+
505
+ //hato描画前にキャンバスを初期状態にすると軌跡が見えない
506
+
507
+ context.drawImage(backimg,0,0); //背景を描くと軌跡が見えない
508
+
509
+ context.drawImage(hatoimg,shiftX4,shiftY4,120,120);
510
+
511
+
512
+
513
+
514
+
515
+ //kareの位置を更新
516
+
517
+ shiftX4+=dx4;
518
+
519
+
520
+
521
+
522
+
523
+ //kareの位置が指定範囲外の場合は、方向を変える
524
+
525
+ if(shiftX4<50){
526
+
527
+ dx4*=-1;
528
+
529
+ }
530
+
531
+ if(shiftX4>400){
532
+
533
+ dx4*=-1;
534
+
535
+ }
536
+
537
+ if(shiftY4<500){
538
+
539
+ dy4*=-1;
540
+
541
+ }
542
+
543
+ if(shiftY4>50){
544
+
545
+ dy4*=-1;
546
+
547
+ }
548
+
549
+
550
+
551
+
552
+
553
+
554
+
555
+ function draw_yasai2(){
556
+
557
+
558
+
559
+ context.drawImage(backimg,0,0);
560
+
561
+ context.drawImage(yasaiimg,shiftX5,shiftY5,80,80);
562
+
563
+ shiftX5+=dx5;
564
+
565
+
566
+
567
+ if(shiftX5<50){
568
+
569
+ dx5*=-1;
570
+
571
+ }
572
+
573
+ if(shiftX5>400){
574
+
575
+ dx5*=-1;
576
+
577
+ }
578
+
579
+ if(shiftY5<500){
580
+
581
+ dy5*=-1;
582
+
583
+ }
584
+
585
+ if(shiftY5>50){
586
+
587
+ dy5*=-1;
588
+
589
+ }
590
+
591
+ }
592
+
593
+
594
+
595
+ function draw_kare(){
596
+
597
+ context.drawImage(backimg,0,0);
598
+
599
+ context.drawImage(kareimg,shiftX6,shiftY6,100,100);
600
+
601
+ shiftY6+=dy6;
602
+
603
+
604
+
605
+ if(shiftX6<50){
606
+
607
+ dx6*=-1;
608
+
609
+ }
610
+
611
+ if(shiftX6>400){
612
+
613
+ dx6*=-1;
614
+
615
+ }
616
+
617
+ if(shiftY6<500){
618
+
619
+ dy6*=-1;
620
+
621
+ }
622
+
623
+ if(shiftY6>50){
624
+
625
+ dy6*=-1;
626
+
627
+ }
628
+
629
+ }
630
+
631
+
632
+
633
+ }
634
+
635
+
636
+
637
+ //タイマー停止
638
+
639
+ function timer_stop(){
640
+
641
+ if(timer_id3||timer_id2||timer_id){ //タイマーIDが存在していれば、
642
+
643
+ window.clearInterval(timer_id); //タイマーを停止する
644
+
645
+ timer_id=undefined; //タイマーIDをundefinedにする
646
+
647
+ window.clearInterval(timer_id2); //タイマーを停止する
648
+
649
+ timer_id2=undefined; //タイマーIDをundefinedにする
650
+
651
+ window.clearInterval(timer_id3); //タイマーを停止する
652
+
653
+ timer_id3=undefined; //タイマーIDをundefinedにする
654
+
655
+
656
+
657
+ }else{
658
+
659
+ window.alert("タイマーは稼働していません。");
660
+
661
+ }
662
+
663
+ }
664
+
665
+
666
+
667
+ </script>
668
+
669
+ </head>
670
+
671
+ <body onload = "initial();">
672
+
673
+ <h1>
674
+
675
+ プログラミング演習2</h1>
676
+
677
+ <canvas id="canvas_sample"width="1220"height="620">
678
+
679
+ 図形を表示するには、canvasタグをサポートしたブラウザが必要です。
680
+
681
+ </canvas>
682
+
683
+ <!--フォーム-->
684
+
685
+ <form name="fn_a1" id="fi_a1">
686
+
687
+ <p>
688
+
689
+ <label><input type="button" name="bn_a1" id="bi_a1" value="1つの物体が左右に往復する" onClick="draw1();"></label>
690
+
691
+ <label><input type="button" name="bn_a2" id="bi_a2" value="2つの物体が上下に往復する" onClick="draw2();"></label>
692
+
693
+ <label><input type="button" name="bn_a3" id="bi_a3" value="3つの物体があらゆる方向に移動する" onClick="draw3();"></label>
694
+
695
+ <label><input type="button" name="bn_a4" id="bi_a4" value="初期状態に戻す" onClick="draw_backimg();"></label>
696
+
697
+ <label><input type="button" name="bn_ts" id="bi_ts" value="タイマーストップ" onClick="timer_stop();"></label>
698
+
699
+ </p>
700
+
701
+ </body></html>
36
702
 
37
703
  ```
38
704
 
39
- The key "initial" is not recognized and ignored.
40
-
41
- 284002IgarashiEri-kimatukadai2.html:5 The key "1" is not recognized and ignored.
42
-
43
- (unknown) Uncaught ReferenceError: draw_yasai2 is not defined
44
-
45
- at <anonymous>:1:1
46
-
47
- (unknown) Uncaught ReferenceError: draw_yasai2 is not defined
48
-
49
- at <anonymous>:1:1
50
-
51
-
52
-
53
-
54
-
55
-
56
-
57
- (unknown) Uncaught ReferenceError: draw_kare is not defined
58
-
59
- at <anonymous>:1:1
60
-
61
- (unknown) Uncaught ReferenceError: draw_yasai2 is not defined
62
-
63
- at <anonymous>:1:1
64
-
65
- (unknown) Uncaught ReferenceError: draw_yasai2 is not defined
66
-
67
- at <anonymous>:1:1
68
-
69
-
70
-
71
-
72
-
73
-
74
-
75
- (unknown) Uncaught ReferenceError: draw_kare is not defined
76
-
77
- at <anonymous>:1:1
78
-
79
- (unknown) Uncaught ReferenceError: draw_yasai2 is not defined
80
-
81
- at <anonymous>:1:1
82
-
83
-
84
-
85
-
86
-
87
-
88
-
89
-
90
-
91
705
  ```
92
706
 
93
- ```
94
-
95
-
96
-
97
- ###該当のソースコード
98
-
99
- ```Javascript
100
-
101
-
102
-
103
-
104
-
105
- ```ここに言語を入力
106
-
107
- ```<!doctype html>
108
-
109
- <html><head>
110
-
111
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
112
-
113
- <meta charset="utf-8">
114
-
115
- <meta name="viewport" content="width=device-width,initial=scale=1">
116
-
117
- <title>プログラミング演習2</title>
118
-
119
- <script>
120
-
121
- //グローバル変数
122
-
123
- var canvas=null; //canvas要素
124
-
125
- var context=null; //グラフィックの2D描画用コンテキスト
126
-
127
- var backimg=null; //背景画像
128
-
129
- var hatoimg=null; //hatoの画像
130
-
131
- var yasaiimg=null; //yasaiの画像
132
-
133
- var kareimg=null; //kareの画像
134
-
135
- var rectX=450; //x軸方向の位置
136
-
137
- var rectY=150; //y軸方向の位置
138
-
139
- var shiftX1=100; //x軸方向の位置(hato)
140
-
141
- var shiftY1=80; //y軸方向の位置(hato)
142
-
143
- var dx=7.0; //x軸方向の移動位置
144
-
145
- var dy=5.0; //y軸方向の移動位置
146
-
147
- var shiftX2=100; //x軸方向の位置(hato)
148
-
149
- var shiftY2=250; //y軸方向の位置(hato)
150
-
151
- var dx2=6.0; //x軸方向の移動位置
152
-
153
- var dy2=4.0; //y軸方向の移動位置
154
-
155
- var shiftX3=800; //x軸方向の位置(yasai)
156
-
157
- var shiftY3=30; //y軸方向の位置(yasai)
158
-
159
- var dx3=8.0; //x軸方向の移動位置
160
-
161
- var dy3=6.0; //y軸方向の移動位置
162
-
163
- var shiftX4=800; //x軸方向の位置(hato)
164
-
165
- var shiftY4=300; //y軸方向の位置(hato)
166
-
167
- var dx4=10.0; //x軸方向の移動位置
168
-
169
- var dy4=8.0; //y軸方向の移動位置
170
-
171
- var shiftX5=300; //x軸方向の位置(yasai)
172
-
173
- var shiftY5=600; //y軸方向の位置(yasai)
174
-
175
- var dx5=5.0; //x軸方向の移動位置
176
-
177
- var dy5=6.0; //y軸方向の移動位置
178
-
179
- var shiftX6=400; //x軸方向の位置(kare)
180
-
181
- var shiftY6=100; //y軸方向の位置(kare)
182
-
183
- var dx6=9.0; //x軸方向の移動位置
184
-
185
- var dy6=7.0; //y軸方向の移動位置
186
-
187
- var timer_id; //タイマーID
188
-
189
- var timer_id2; //タイマーID
190
-
191
- var timer_id3; //タイマーID
192
-
193
-
194
-
195
-
196
-
197
- //webページが読み込まれたら呼び出す関数
198
-
199
- function initial(){
200
-
201
- //描画コンテキストの取得
202
-
203
- //canvas要素を取得
204
-
205
- canvas=document.getElementById("canvas_sample");
206
-
207
- //グラフィックの2D描画用コンテキストを取得
208
-
209
- context=canvas.getContext("2d");
210
-
211
- //画像ファイルを読み込んで利用する
212
-
213
- //Imageオブジェクトを新規作成
214
-
215
- backimg=new Image();
216
-
217
- //背景画像ファイルを読み込んでオブジェクトに代入
218
-
219
- backimg.src="./課題2画像/haikei.png";
220
-
221
- //Imageオブジェクトを新規作成
222
-
223
- hatoimg=new Image();
224
-
225
- //飛行機の画像ファイルを読み込んでオブジェクトに代入
226
-
227
- hatoimg.src="./課題2画像/bird_densyobato.png";
228
-
229
- //Imageオブジェクトを新規作成
230
-
231
- yasaiimg=new Image();
232
-
233
- //花の画像ファイルを読み込んでオブジェクトに代入
234
-
235
- yasaiimg.src="./課題2画像/img_topical01.png";
236
-
237
- //Imageオブジェクトを新規作成
238
-
239
- kareimg=new Image();
240
-
241
- //蝶々の画像ファイルを読み込んでオブジェクトに代入
242
-
243
- kareimg.src="./課題2画像/food_curryruce.png";
244
-
245
- //画像ファイル読み込みを非同期で処理
246
-
247
- //onloadイベントを使って、画像の読み込みが完了してから
248
-
249
- //背景画像処理を描画する
250
-
251
- hatoimg.onload=function(){
252
-
253
- context.drawImage(backimg,0,0); //背景画像
254
-
255
- }
256
-
257
- }
258
-
259
-
260
-
261
-
262
-
263
- //背景画像の描画
264
-
265
- function draw_backimg(){
266
-
267
- if(timer_id3||timer_id2||timer_id){ //タイマーIDが存在していれば、
268
-
269
- window.clearInterval(timer_id); //タイマーを停止する
270
-
271
- timer_id=undefined; //タイマーIDをundefinedにする
272
-
273
- window.clearInterval(timer_id2); //タイマーを停止する
274
-
275
- timer_id2=undefined; //タイマーIDをundefinedにする
276
-
277
- window.clearInterval(timer_id3); //タイマーを停止する
278
-
279
- timer_id3=undefined; //タイマーIDをundefinedにする
280
-
281
- }
282
-
283
-
284
-
285
- context.drawImage(backimg,0,0);
286
-
287
-
288
-
289
- }//背景画像
290
-
291
-
292
-
293
-
294
-
295
-
296
-
297
- //hatoを横方向に動かしながら描く
298
-
299
- function draw1(){
300
-
301
- if(timer_id3||timer_id2||timer_id){ //タイマーIDが存在していれば、
302
-
303
- window.clearInterval(timer_id); //タイマーを停止する
304
-
305
- timer_id=undefined; //タイマーIDをundefinedにする
306
-
307
- window.clearInterval(timer_id2); //タイマーを停止する
308
-
309
- timer_id2=undefined; //タイマーIDをundefinedにする
310
-
311
- window.clearInterval(timer_id3); //タイマーを停止する
312
-
313
- timer_id3=undefined; //タイマーIDをundefinedにする
314
-
315
-
316
-
317
- }
318
-
319
- //タイマー処理で定期的に実行
320
-
321
- timer_id = window.setInterval("draw_hato1()",50);
322
-
323
- }
324
-
325
- //描画メイン処理:hatoを横方向に動かしながら描く
326
-
327
- function draw_hato1(){
328
-
329
- //hatoの描画前にキャンバスを初期状態にすると軌跡が見えない
330
-
331
- context.drawImage(backimg,0,0); //背景画像描画
332
-
333
- context.drawImage(hatoimg,shiftX1,shiftY1,200,200);//ookisa
334
-
335
- //位置を更新
336
-
337
- shiftX1-=dx;
338
-
339
- //動く範囲を決め、範囲外の場合は向きを変える
340
-
341
- if(shiftX1<30){
342
-
343
- dx*=-1;
344
-
345
- }
346
-
347
- if(shiftX1>100){
348
-
349
- dx*=-1;
350
-
351
- }
352
-
353
- }
354
-
355
-
356
-
357
- //
358
-
359
-
360
-
361
- //hatoとyasaiを縦方向に動かしながら描く
362
-
363
- function draw2(){
364
-
365
-
366
-
367
- if(timer_id3||timer_id2||timer_id){ //タイマーIDが存在していれば、
368
-
369
- window.clearInterval(timer_id); //タイマーを停止する
370
-
371
- timer_id=undefined; //タイマーIDをundefinedにする
372
-
373
- window.clearInterval(timer_id2); //タイマーを停止する
374
-
375
- timer_id2=undefined; //タイマーIDをundefinedにする
376
-
377
- window.clearInterval(timer_id3); //タイマーを停止する
378
-
379
- timer_id3=undefined; //タイマーIDをundefinedにする
380
-
381
-
382
-
383
- }
384
-
385
- //タイマー処理で定期的に実行
386
-
387
- timer_id = window.setInterval("draw_hato2()",35);
388
-
389
- timer_id2 = window.setInterval("draw_yasai()",20);
390
-
391
- }
392
-
393
- //描画メイン処理:hatoを下から上に縦方向に動かしながら描く
394
-
395
- function draw_hato2(){
396
-
397
- //hatoとyasaiの描画前にキャンバスを初期状態にすると軌跡が見えない
398
-
399
- context.drawImage(backimg,0,0); //背景画像描画
400
-
401
- context.drawImage(hatoimg,shiftX2,shiftY2,150,150);//ookisa
402
-
403
-
404
-
405
- shiftY2+=dy2;
406
-
407
-
408
-
409
- if(shiftY2<30){
410
-
411
- dy2*=-1;
412
-
413
- if(shiftY2>300){
414
-
415
- dy2*=-1;
416
-
417
- }
418
-
419
-
420
-
421
- }
422
-
423
- }
424
-
425
- //描画メイン処理:yasaiを上から下に縦方向に動かしながら描く
426
-
427
- function draw_yasai(){
428
-
429
- //hatoとyasaiの描画前にキャンバスを初期状態にすると軌跡が見えない
430
-
431
- context.drawImage(backimg,0,0); //背景画像描画
432
-
433
- context.drawImage(yasaiimg,shiftX3,shiftY3,200,200);
434
-
435
-
436
-
437
- //位置を更新
438
-
439
-
440
-
441
- shiftY3-=dy3;
442
-
443
- //動く範囲を決め、範囲外の場合は向きを変える
444
-
445
-
446
-
447
-
448
-
449
- if(shiftY3<30){
450
-
451
- dy3*=-1;
452
-
453
- }
454
-
455
- if(shiftY3>300){
456
-
457
- dy3*=-1;
458
-
459
- }
460
-
461
-
462
-
463
- }
464
-
465
-
466
-
467
-
468
-
469
-
470
-
471
- //kareを動かしながら描く
472
-
473
- function draw3(){
474
-
475
-
476
-
477
- if(timer_id3||timer_id2||timer_id){ //タイマーIDが存在していれば、
478
-
479
- window.clearInterval(timer_id); //タイマーを停止する
480
-
481
- timer_id=undefined; //タイマーIDをundefinedにする
482
-
483
- window.clearInterval(timer_id2); //タイマーを停止する
484
-
485
- timer_id2=undefined; //タイマーIDをundefinedにする
486
-
487
- window.clearInterval(timer_id3); //タイマーを停止する
488
-
489
- timer_id3=undefined; //タイマーIDをundefinedにする
490
-
491
-
492
-
493
- }
494
-
495
-
496
-
497
- //タイマー処理で定期的に実行
498
-
499
- timer_id = window.setInterval("draw_hato3()",300);
500
-
501
- timer_id2 = window.setInterval("draw_yasai2()",30);
502
-
503
- timer_id3 = window.setInterval("draw_kare()",500);
504
-
505
- }
506
-
507
-
508
-
509
-
510
-
511
-
512
-
513
-
514
-
515
-
516
-
517
- //描画メイン処理:kareを動かしながら描く
518
-
519
- function draw_hato3(){
520
-
521
- //hato描画前にキャンバスを初期状態にすると軌跡が見えない
522
-
523
- context.drawImage(backimg,0,0); //背景を描くと軌跡が見えない
524
-
525
- context.drawImage(hatoimg,shiftX4,shiftY4,120,120);
526
-
527
-
528
-
529
-
530
-
531
- //kareの位置を更新
532
-
533
- shiftX4+=dx4;
534
-
535
-
536
-
537
-
538
-
539
- //kareの位置が指定範囲外の場合は、方向を変える
540
-
541
- if(shiftX4<50){
542
-
543
- dx4*=-1;
544
-
545
- }
546
-
547
- if(shiftX4>400){
548
-
549
- dx4*=-1;
550
-
551
- }
552
-
553
- if(shiftY4<500){
554
-
555
- dy4*=-1;
556
-
557
- }
558
-
559
- if(shiftY4>50){
560
-
561
- dy4*=-1;
562
-
563
- }
564
-
565
-
566
-
567
-
568
-
569
-
570
-
571
- function draw_yasai2(){
572
-
573
-
574
-
575
- context.drawImage(backimg,0,0);
576
-
577
- context.drawImage(yasaiimg,shiftX5,shiftY5,80,80);
578
-
579
- shiftX5+=dx5;
580
-
581
-
582
-
583
- if(shiftX5<50){
584
-
585
- dx5*=-1;
586
-
587
- }
588
-
589
- if(shiftX5>400){
590
-
591
- dx5*=-1;
592
-
593
- }
594
-
595
- if(shiftY5<500){
596
-
597
- dy5*=-1;
598
-
599
- }
600
-
601
- if(shiftY5>50){
602
-
603
- dy5*=-1;
604
-
605
- }
606
-
607
- }
608
-
609
-
610
-
611
- function draw_kare(){
612
-
613
- context.drawImage(backimg,0,0);
614
-
615
- context.drawImage(kareimg,shiftX6,shiftY6,100,100);
616
-
617
- shiftY6+=dy6;
618
-
619
-
620
-
621
- if(shiftX6<50){
622
-
623
- dx6*=-1;
624
-
625
- }
626
-
627
- if(shiftX6>400){
628
-
629
- dx6*=-1;
630
-
631
- }
632
-
633
- if(shiftY6<500){
634
-
635
- dy6*=-1;
636
-
637
- }
638
-
639
- if(shiftY6>50){
640
-
641
- dy6*=-1;
642
-
643
- }
644
-
645
- }
646
-
647
-
648
-
649
- }
650
-
651
-
652
-
653
- //タイマー停止
654
-
655
- function timer_stop(){
656
-
657
- if(timer_id3||timer_id2||timer_id){ //タイマーIDが存在していれば、
658
-
659
- window.clearInterval(timer_id); //タイマーを停止する
660
-
661
- timer_id=undefined; //タイマーIDをundefinedにする
662
-
663
- window.clearInterval(timer_id2); //タイマーを停止する
664
-
665
- timer_id2=undefined; //タイマーIDをundefinedにする
666
-
667
- window.clearInterval(timer_id3); //タイマーを停止する
668
-
669
- timer_id3=undefined; //タイマーIDをundefinedにする
670
-
671
-
672
-
673
- }else{
674
-
675
- window.alert("タイマーは稼働していません。");
676
-
677
- }
678
-
679
- }
680
-
681
-
682
-
683
- </script>
684
-
685
- </head>
686
-
687
- <body onload = "initial();">
688
-
689
- <h1>
690
-
691
- プログラミング演習2</h1>
692
-
693
- <canvas id="canvas_sample"width="1220"height="620">
694
-
695
- 図形を表示するには、canvasタグをサポートしたブラウザが必要です。
696
-
697
- </canvas>
698
-
699
- <!--フォーム-->
700
-
701
- <form name="fn_a1" id="fi_a1">
702
-
703
- <p>
704
-
705
- <label><input type="button" name="bn_a1" id="bi_a1" value="1つの物体が左右に往復する" onClick="draw1();"></label>
706
-
707
- <label><input type="button" name="bn_a2" id="bi_a2" value="2つの物体が上下に往復する" onClick="draw2();"></label>
708
-
709
- <label><input type="button" name="bn_a3" id="bi_a3" value="3つの物体があらゆる方向に移動する" onClick="draw3();"></label>
710
-
711
- <label><input type="button" name="bn_a4" id="bi_a4" value="初期状態に戻す" onClick="draw_backimg();"></label>
712
-
713
- <label><input type="button" name="bn_ts" id="bi_ts" value="タイマーストップ" onClick="timer_stop();"></label>
714
-
715
- </p>
716
-
717
- </body></html>
718
-
719
- ```
720
-
721
707
 
722
708
 
723
709
  ###試したこと

2

エラー内容の追加 yasai2が何度も何度もunknownになったあと1回kareがunknownになりまたyasai2が何度も繰り返しunknownになるようです。forなど使っていません。

2017/08/09 16:31

投稿

rainy
rainy

スコア6

test CHANGED
@@ -1 +1 @@
1
- 2つ、3つの画像表示それぞれ異なる方向に移動させたい
1
+ 2つ、3つの画像表示それぞれ異なる方向に移動させたい
test CHANGED
@@ -30,10 +30,68 @@
30
30
 
31
31
  ```
32
32
 
33
- 2,3のボタンがうまく作動しない
33
+
34
+
35
+
34
36
 
35
37
  ```
36
38
 
39
+ The key "initial" is not recognized and ignored.
40
+
41
+ 284002IgarashiEri-kimatukadai2.html:5 The key "1" is not recognized and ignored.
42
+
43
+ (unknown) Uncaught ReferenceError: draw_yasai2 is not defined
44
+
45
+ at <anonymous>:1:1
46
+
47
+ (unknown) Uncaught ReferenceError: draw_yasai2 is not defined
48
+
49
+ at <anonymous>:1:1
50
+
51
+
52
+
53
+
54
+
55
+
56
+
57
+ (unknown) Uncaught ReferenceError: draw_kare is not defined
58
+
59
+ at <anonymous>:1:1
60
+
61
+ (unknown) Uncaught ReferenceError: draw_yasai2 is not defined
62
+
63
+ at <anonymous>:1:1
64
+
65
+ (unknown) Uncaught ReferenceError: draw_yasai2 is not defined
66
+
67
+ at <anonymous>:1:1
68
+
69
+
70
+
71
+
72
+
73
+
74
+
75
+ (unknown) Uncaught ReferenceError: draw_kare is not defined
76
+
77
+ at <anonymous>:1:1
78
+
79
+ (unknown) Uncaught ReferenceError: draw_yasai2 is not defined
80
+
81
+ at <anonymous>:1:1
82
+
83
+
84
+
85
+
86
+
87
+
88
+
89
+
90
+
91
+ ```
92
+
93
+ ```
94
+
37
95
 
38
96
 
39
97
  ###該当のソースコード
@@ -666,6 +724,4 @@
666
724
 
667
725
  大きさや秒数を変更すると、片方だけ動いたり全く動かなくなったりする。
668
726
 
669
- ###補足情報(言語/FW/ツール等のバージョンなど)
727
+ yasai2が何度も何度もunknownにったあと1回kareがunknownになりまたyasai2が何度も繰り返しunknownになるようです。forな使っていません。
670
-
671
- Dreamweaverで行っています。

1

コードブロックで囲む、ということをやりました。あっているでしょうか。

2017/08/09 16:27

投稿

rainy
rainy

スコア6

test CHANGED
File without changes
test CHANGED
@@ -40,6 +40,12 @@
40
40
 
41
41
  ```Javascript
42
42
 
43
+
44
+
45
+
46
+
47
+ ```ここに言語を入力
48
+
43
49
  ```<!doctype html>
44
50
 
45
51
  <html><head>
@@ -652,6 +658,8 @@
652
658
 
653
659
  </body></html>
654
660
 
661
+ ```
662
+
655
663
 
656
664
 
657
665
  ###試したこと