Processing で Android アプリのレイアウトを変更しようとしています。レイアウトは void draw() 内で実行される 2 つの異なるメソッドですが、void で変更しようとしている currentLayout 値の変更をプログラムが認識できないようです。 OscEvent。
OscEvent で currentLayout を印刷すると、値が変更されて 2 に設定されますが、draw() で印刷しても変更されません。これが起こっていることです:
- 「チェンジ!」を印刷できます。
- currentLayout の値が変更され、OscEvent() 内でチェックすると気づきます
- draw()内でチェックしても、 currentLayout の値は変更されず、気付かれません
- OscP5 ライブラリ以外のメソッドで値とレイアウトを正常に変更することもできますが、それがどのように影響するかはわかりません。
コードの重要な部分:
public int currentLayout;
void setup() {
currentLayout=1;//vilken scen man börjar på, kolla switchen i draw()
}
void draw() {
switch(currentLayout) {
case 1:
defaultLayout();
break;
case 2:
task1();
break;
}
println(currentLayout);
}
void oscEvent(OscMessage theOscMessage) {
/* get and print the address pattern and the typetag of the received OscMessage */
String[] list =split(theOscMessage.addrPattern(), '/');
println(list[1]);
if (list[1].equals("layout")) {
println("change!");
currentLayout=2;
}
}
すべてのヘルプと提案は大歓迎です! ありがとう。