teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

コード加筆#2

2019/11/18 07:34

投稿

AkitoshiManabe
AkitoshiManabe

スコア5434

answer CHANGED
@@ -20,6 +20,7 @@
20
20
  output = new Image(); // <img> は書き出しせずにメモリ内で作れます。
21
21
  output.src = img[selectnum] ;
22
22
  }
23
+ intervalCount++; // interval の回数をカウント
23
24
 
24
25
  ctx.clearRect (0 , 0 , 1400 , 600);//画面をいったん消して表示する
25
26
  ctx.drawImage (output , x_zahyo , y_zahyo);

1

コードの加筆

2019/11/18 07:34

投稿

AkitoshiManabe
AkitoshiManabe

スコア5434

answer CHANGED
@@ -3,6 +3,8 @@
3
3
  インターバルの中で、ランダムに選ぶようにしてください。
4
4
 
5
5
  ```javascript
6
+ intervalCount = 0;
7
+
6
8
  // 開始モジュール
7
9
  function start() {
8
10
  canvas = document.getElementById ('canvas_e');
@@ -12,13 +14,27 @@
12
14
  }
13
15
  // 描画モジュール
14
16
  function draw() {
17
+ if( intervalCount % <この数値が重要> === 0 ) {
15
18
    //画像をランダムで表示したい
16
19
  selectnum = Math.floor(Math.random() * img.length);
17
20
  output = new Image(); // <img> は書き出しせずにメモリ内で作れます。
18
21
  output.src = img[selectnum] ;
22
+ }
19
23
 
20
- ctx.clearRect (0 , 0 , 1400 , 600);//画面をいったん消して表示する
24
+ ctx.clearRect (0 , 0 , 1400 , 600);//画面をいったん消して表示する
21
- ctx.drawImage (output , x_zahyo , y_zahyo);
25
+ ctx.drawImage (output , x_zahyo , y_zahyo);
22
- x_zahyo += 500;//x座標を変える
26
+ x_zahyo += 500;//x座標を変える
23
27
  }
24
- ```
28
+ ```
29
+
30
+ 追記
31
+
32
+ > 左画面外から右画面外に動かしたいです。
33
+
34
+ コードも変更しました。
35
+
36
+ 別途、時間管理が必要になります。
37
+ 24msec ごとにインターバルしますが、
38
+ 何px ずつ動かすのか、画面に現れ、消えるまで、要するインターバル回数は何回なのか。
39
+
40
+ これを算出して、ランダム生成する(移動箇所)を if() で囲みます。