質問編集履歴
2
書式の変更
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
Processing スコア表示
|
1
|
+
Processing dist関数 スコア表示
|
test
CHANGED
@@ -1,14 +1,14 @@
|
|
1
|
-
円と円が触れるとスコアが増え、そのスコアが表示されるようにしたいのですが、
|
1
|
+
proceeingでゲームを作っているのですが、円と円が触れるとスコアが増え、そのスコアが表示されるようにしたいのですが、当たり判定にdist関数を使ったせいか円と円が触れた時だけでなく、円が下に落ちてしまったときにもスコアが増えてしまいます。何か改善点があれば教えてほしいです。
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
|
5
|
+
コード
|
8
6
|
|
9
7
|
int y = 300;
|
10
8
|
|
11
9
|
int ex, espeed, ey;
|
10
|
+
|
11
|
+
int score;
|
12
12
|
|
13
13
|
|
14
14
|
|
@@ -32,17 +32,23 @@
|
|
32
32
|
|
33
33
|
initPos();
|
34
34
|
|
35
|
+
score = 0;
|
36
|
+
|
35
37
|
}
|
36
38
|
|
37
39
|
void draw() {
|
38
40
|
|
39
41
|
background(255);
|
40
42
|
|
43
|
+
scoreDisp();
|
44
|
+
|
41
45
|
fill(255, 10, 255);
|
42
46
|
|
43
47
|
ellipse(mouseX, y, 70, 70);
|
44
48
|
|
45
49
|
if (dist(mouseX, y, ex, ey)<45 || ey-20 > height) {
|
50
|
+
|
51
|
+
score += 10;
|
46
52
|
|
47
53
|
initPos();
|
48
54
|
|
@@ -55,3 +61,13 @@
|
|
55
61
|
ey += espeed;
|
56
62
|
|
57
63
|
}
|
64
|
+
|
65
|
+
void scoreDisp(){
|
66
|
+
|
67
|
+
textSize(24);
|
68
|
+
|
69
|
+
fill(0);
|
70
|
+
|
71
|
+
text("score:"+score,10,25);
|
72
|
+
|
73
|
+
}
|
1
書式の変更
test
CHANGED
File without changes
|
test
CHANGED
@@ -3,6 +3,8 @@
|
|
3
3
|
|
4
4
|
|
5
5
|
|
6
|
+
|
7
|
+
Processing
|
6
8
|
|
7
9
|
int y = 300;
|
8
10
|
|
@@ -12,11 +14,11 @@
|
|
12
14
|
|
13
15
|
void initPos() {
|
14
16
|
|
15
|
-
|
17
|
+
ex = int(random(width));
|
16
18
|
|
17
|
-
|
19
|
+
espeed = int(random(1, 6));
|
18
20
|
|
19
|
-
|
21
|
+
ey = -10;
|
20
22
|
|
21
23
|
}
|
22
24
|
|
@@ -24,32 +26,32 @@
|
|
24
26
|
|
25
27
|
void setup() {
|
26
28
|
|
27
|
-
|
29
|
+
size(400, 400);
|
28
30
|
|
29
|
-
|
31
|
+
noStroke();
|
30
32
|
|
31
|
-
|
33
|
+
initPos();
|
32
34
|
|
33
35
|
}
|
34
36
|
|
35
37
|
void draw() {
|
36
38
|
|
37
|
-
|
39
|
+
background(255);
|
38
40
|
|
39
|
-
|
41
|
+
fill(255, 10, 255);
|
40
42
|
|
41
|
-
|
43
|
+
ellipse(mouseX, y, 70, 70);
|
42
44
|
|
43
|
-
|
45
|
+
if (dist(mouseX, y, ex, ey)<45 || ey-20 > height) {
|
44
46
|
|
45
|
-
|
47
|
+
initPos();
|
46
|
-
|
47
|
-
}
|
48
|
-
|
49
|
-
fill(10, 255, 10);
|
50
|
-
|
51
|
-
ellipse(ex, ey, 20, 20);
|
52
|
-
|
53
|
-
ey += espeed;
|
54
48
|
|
55
49
|
}
|
50
|
+
|
51
|
+
fill(10, 255, 10);
|
52
|
+
|
53
|
+
ellipse(ex, ey, 20, 20);
|
54
|
+
|
55
|
+
ey += espeed;
|
56
|
+
|
57
|
+
}
|