回答編集履歴

2

 

2022/04/13 13:49

投稿

退会済みユーザー
test CHANGED
@@ -1,93 +1,47 @@
1
1
  catchersという配列に、各catcherを格納します。
2
+ その後forEachを使って各catcherに色等を設定しますが、そのときに合わせてisCatcherというプロパティを付加します。
3
+ (isCatcherという名前は、後述の部分と合っていれば、実際は何でもいいです。また下記ではtrueを設定していますが
4
+ 「プロパティを持っているかどうか」で判定するので、true以外の値を設定しても特に問題ありません)
5
+ ```
6
+ //ホール
7
+ var catchers = [
8
+ new CircleEntity(200, 50, 20, BodyStatic, 1),
9
+ new CircleEntity(200, 280, 20, BodyStatic, 1),
10
+ new CircleEntity(200, 320, 20, BodyStatic, 1),
11
+ new CircleEntity(200, 450, 20, BodyStatic, 1)
12
+ ];
2
13
 
14
+ // 各々のcatcherに処理を施す
15
+ catchers.forEach(function(catcher){
16
+ catcher.color = "gold";
17
+ catcher.sign = 1;
18
+ engine.entities.push(catcher);
3
- その後forEachを使って各catcherに色等を設定しますが、そのときに合わせてisCatcherというプロパティを付加します
19
+ // isCatcherというプロパティを付加。
4
-
5
- isCatcherという名前は、後述の部分と合っていれば、実際は何でもいいです。また下記ではtrueを設定していますが
20
+ catcher.isCatcher = true;
6
-
7
- 「プロパティを持っているかどうか」で判定するので、true以外の値を設定しても特に問題ありません)
21
+ });
8
-
9
22
  ```
10
23
 
11
- //ホール
12
-
13
- var catchers = [
14
-
15
- new CircleEntity(200, 50, 20, BodyStatic, 1),
16
-
17
- new CircleEntity(200, 280, 20, BodyStatic, 1),
24
+ ボール設定の衝突時コールバック(onhit)の実装部分に、衝突相手がcatcherかどうかを判定するコードを追加します。
18
-
19
- new CircleEntity(200, 320, 20, BodyStatic, 1),
20
-
21
- new CircleEntity(200, 450, 20, BodyStatic, 1)
22
-
23
- ];
24
-
25
-
26
-
27
- // 各々のcatcherに処理を施す
28
-
29
- catchers.forEach(function(catcher){
30
-
31
- catcher.color = "gold";
32
-
33
- catcher.sign = 1;
34
-
35
- engine.entities.push(catcher);
36
-
37
- // isCatcherというプロパティを付加。
25
+ (先ほど設定したisCatcherプロパティを利用します)
38
-
39
- catcher.isCatcher = true;
40
-
41
- });
42
-
43
26
  ```
44
-
45
-
46
-
47
- ボール設定の衝突時コールバック(onhit)の実装部分に、衝突相手がcatcherかどうかを判定するコードを追加します。
48
-
49
- (先ほど設定したisCatcherプロパティを利用します)
50
-
51
- ```
52
-
53
27
  //ボール,スコア設定
54
-
55
28
  function mymouseup(e){
56
-
57
29
  isMouseDown = false;
58
-
59
30
  var r = new CircleEntity(475, 400, 18, BodyDynamic);
60
-
61
31
  r.color = "yellow";
62
-
63
32
  r.velocity.y = -offset / 5;
64
-
65
33
  r.onhit = function (me,peer){
66
-
67
- // peerisCatcherというプロパティを持っているか判定。
34
+ // peerisCatcherというプロパティを持っているか判定。
68
-
69
35
  // isCatcherというプロパティを持っているならばそれはホールなので、ボールを消す。
70
-
71
36
  if ('isCatcher' in peer){
72
-
73
37
  engine.entities = engine.entities.filter(function(e){
74
-
75
38
  return e != me;
76
-
77
39
  });
78
-
79
40
  score += 5;
80
-
81
41
  }
82
-
83
42
  }
84
43
 
85
-
86
-
87
44
  offset = 0;
88
-
89
45
  engine.entities.push(r);
90
-
91
46
  }
92
-
93
47
  ```

1

2021/04/22 12:51

投稿

退会済みユーザー
test CHANGED
@@ -66,7 +66,7 @@
66
66
 
67
67
  // peerたisCatcherというプロパティを持っているか判定。
68
68
 
69
- // isCatcherというプロパティを持っているならばそれはホールなので、ールを消す。
69
+ // isCatcherというプロパティを持っているならばそれはホールなので、ールを消す。
70
70
 
71
71
  if ('isCatcher' in peer){
72
72