2016-04-17 3 views
0

ここに私のプログラムがあります。そこには "S"という文字列とvoid Get Temperatureがあります。キーの押下が処理される最下部には、Enterキーを押したelse If文があります。私はそれがあなたが入力したものに文字列を更新し、それを "SetAddress"フィールドにロードするように、Enterを押したときにそれが欲しいようにします。私はこれについてどうやって行くのですか?keyCodeを作る方法== ENTER文字列を更新しますか?

import com.temboo.core.*; 
import com.temboo.Library.Yahoo.Weather.*; 
import ddf.minim.*; 
AudioPlayer player; 
Minim minim; 
PImage bg; 
String myText; 
PFont Bold; 
PFont Thin; 
TembooSession session = new TembooSession("goldsmiths-c", "myFirstApp", "CNgLbwqnqzGdsnk6wHXPfAnQNSmV0Fmr"); 
String s = "Enter Location"; 
int prev = frameCount; 
//KeyPressed KeyPressed = new KeyPressed(); 

void setup() { 
    size(960, 540); 
    bg = loadImage("mountains.jpg"); 
    minim = new Minim(this); 
    player = minim.loadFile("song.mp3"); 
    player.play(); 
    player.loop(); 
    runGetTemperatureChoreo(); 
    Bold = createFont ("TTFirsBlackItalic.otf", height); 
    Thin = createFont ("TTFirsThin.otf", height); 
    frameRate (30); 
} 

void draw() { 
    background(bg); 
    fill (0); 
    textFont (Bold); 
    textSize (48); 
    fill(255, 255, 255); 
    text(myText, 10, 390); 
    fill(255, 255, 255); 
    textFont (Thin); 
    textSize (48); 
    text(s, 10, 500); 
    print(mouseY); 
} 

void runGetTemperatureChoreo() { 

    GetTemperature getTemperatureChoreo = new GetTemperature(session); 

    getTemperatureChoreo.setAddress(s); 
    getTemperatureChoreo.setUnits("c"); 

    GetTemperatureResultSet getTemperatureResults = getTemperatureChoreo.run(); 
    myText = (s) + (getTemperatureResults.getTemperature() + ("°c")); 
    print(getTemperatureResults.getTemperature()); 
} 
void keyPressed() 
{ 
    if (keyPressed && prev <= frameCount-10) { //If a key is being pressed, and the security/delay is fine with it 
    prev = frameCount; //re-Init the clock 
    if (keyCode == BACKSPACE) { //Delete a char! 
     if (s.length() > 0) { 
     s = s.substring(0, s.length()-1); 
     } 
    } else if (keyCode == DELETE) { 
     s = ""; 
    } else if (keyCode == ENTER && s.length() != 0) { 
    } else if (keyCode != SHIFT && keyCode != CONTROL && keyCode != ALT && s.length() < 20) { //It's an ok char, add it to the String 
     s += key; 
    } 
    } 
} 

答えて

0

あなたはs変数にどのようなユーザータイプを格納しているようまあ、それが見えます。ユーザープレスが何かを入力した後に入るたび

else if (keyCode == ENTER && s.length() != 0) { 
} 

else ifそれが入力されます:あなたは、あなたのif文のこの部分を持っています。だから、ちょうどその文の本体内にあなたが好きなコードに置く必要があります:

else if (keyCode == ENTER && s.length() != 0) { 
    getTemperatureChoreo.setAddress(s); 
} 

私は完全にあなたのコードを理解していない可能性がありますので、これは単なる一例です。しかし、基本的なアイデアは同じです:ユーザがEnterを押したときに何かをするには、このelse ifブロックの中に起こりたいコードを入れてください。

今後、スケッチ全体の代わりにMCVEを投稿してください。たとえば、あなたの質問は最小とは関係がないので、そのコードをすべて取り除くことができます。ブランクのスケッチを使い、余分なコードをコピーして貼り付けるだけで、自分がどこにいるのかを確認することができます。がんばろう。

関連する問題