回答編集履歴
1
動作確認、修正結果を追記
answer
CHANGED
@@ -7,4 +7,34 @@
|
|
7
7
|
}
|
8
8
|
```
|
9
9
|
|
10
|
-
`int`型にキャストしたらどうでしょうか。```if (int(frameCount / (frameRate * 0.5)) % 2 == 0)```
|
10
|
+
`int`型にキャストしたらどうでしょうか。```if (int(frameCount / (frameRate * 0.5)) % 2 == 0)```
|
11
|
+
|
12
|
+
---
|
13
|
+
**追記しました:2019-11-09 21:37**
|
14
|
+
|
15
|
+
動作を確認させていただきました。ご提示のコードをよくよく拝見すると、0.5秒ごとに点滅する意図であるものの、その前に`Thread.sleep(1000);`とのように1000ミリ秒スリープしているので、点滅間隔は常に1秒になってしまいます。まず、ここを100ミリ秒にします。更に、先の私の回答で`if (int(frameCount / (frameRate * 0.5)) % 2 == 0)`と`int`型にキャストする部分を`if (int(frameCount / (frameRate * 0.5) % 2) == 0) `と修正し、最終的に`SubThread`クラスの`run`メソッドを以下のようにしたところ、500ミリ秒ごとに緑・黒・緑・黒・・・と点滅するようになりました。
|
16
|
+
```Processing
|
17
|
+
public void run() {
|
18
|
+
while (running) {
|
19
|
+
try {
|
20
|
+
//G = 255;
|
21
|
+
//G = 0;
|
22
|
+
println("I am Sleeping...");
|
23
|
+
// 100ミリ秒待機
|
24
|
+
Thread.sleep(100);
|
25
|
+
}
|
26
|
+
catch( InterruptedException ex) {
|
27
|
+
ex.printStackTrace();
|
28
|
+
}
|
29
|
+
// 点滅間隔|0.5[sec]
|
30
|
+
// if (frameCount / (frameRate * 0.5) % 2 ==0) {
|
31
|
+
if (int(frameCount / (frameRate * 0.5) % 2) == 0) {
|
32
|
+
G = 255;
|
33
|
+
} else {
|
34
|
+
G = 0;
|
35
|
+
}
|
36
|
+
}
|
37
|
+
|
38
|
+
println("Sub Thread exit");
|
39
|
+
}
|
40
|
+
```
|