質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Interface Builder

Interface BuilderとはApple"s Mac OsXとiOS ぷラットフォームのユーザーインターフェイスを作るために使用されるビジュアルデザインツールです。

Processing

Processingは、オープンソースプロジェクトによるCGのためのプログラミング言語です。Javaをベースにしており、グラフィック機能に特化しています。イメージの生成やアニメーションなど、視覚的なフィードバックを簡単に得ることが可能です。

Q&A

解決済

1回答

1956閲覧

Processingで入力したキーによって色を制御したい

退会済みユーザー

退会済みユーザー

総合スコア0

Interface Builder

Interface BuilderとはApple"s Mac OsXとiOS ぷラットフォームのユーザーインターフェイスを作るために使用されるビジュアルデザインツールです。

Processing

Processingは、オープンソースプロジェクトによるCGのためのプログラミング言語です。Javaをベースにしており、グラフィック機能に特化しています。イメージの生成やアニメーションなど、視覚的なフィードバックを簡単に得ることが可能です。

0グッド

0クリップ

投稿2017/06/16 02:48

###前提・実現したいこと
ここに質問したいことを詳細に書いてください
Processingで入力したキーによって色を制御してその入力文字の色が変わるシステムを作っています。例えば、「1」を打つと赤色で1が画面に出る、「2」を打つと青色で2が画面に打たれるというようなものです。

###発生している問題・エラーメッセージ
「1」と打っても黒色の文字で表示されてしまいます。

###該当のソースコード

ここにご自身が実行したソースコードを書いてください

String letters = "";
int value;

void setup() {
size(100, 100);
stroke(255);
fill(0);
textSize(16);
}

void draw() {
background(204);
float cursorPosition = textWidth(letters);
line(cursorPosition, 0, cursorPosition, 100);
fill(value);
text(letters, 0, 50);
}

void keyPressed() {
if (key == BACKSPACE) { // Backspace
if (key == 1) {
letters = letters.substring(0, letters.length()-1);
value = #F50C14;
}
} else if (textWidth(letters+key) < width) {
letters = letters + key;
}
}

###試したこと
課題に対してアプローチしたことを記載してください
void keyPressed()とvoid draw()の順番の入れ替え

###補足情報(言語/FW/ツール等のバージョンなど)
Processing3

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

Processing

1void keyPressed() { 2 if (key == BACKSPACE) { // Backspace 3 if (key == 1) { 4 //(1) 5 letters = letters.substring(0, letters.length()-1); 6 value = #F50C14; 7 } 8 } else if (textWidth(letters+key) < width) { 9 letters = letters + key; 10 } 11}

key==BACKSPACEかつkey==1の場合にのみ(1)が実行されるようになっています。ゆえに(1)に到達することは決してないです。

なお1が入力されたかどうかの判定はkey==1ではなくkey=='1'です。

コードを質問に張り付ける場合は上記のようにきちんと字下げしてください。そうすれば制御論理がどうなっているかが分かり易くなります。本件のようにif文の制御がどう流れるかもとらえやすくなりますよ。

投稿2017/06/16 03:22

KSwordOfHaste

総合スコア18394

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/06/16 12:54

ありがとうございました。大変助かりました。これからもより良いコードが書けるように頑張ります。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問