基本的に、楕円の描画に使用する x 位置は、外部データから取得した数値です。値を変更する変数が必要です。更新された値で楕円を再描画すると、アニメーションが表示されます。
次の基本的な例を見てください。
float x,y;//position variables for the ellipse
void setup(){
size(800,800);
smooth();
fill(255,40);
noStroke();
y = 400;
}
void draw(){
//update values
x = mouseX + (sin(frameCount * .05) * 30);//update x to an arbitrary value
//draw
background(0);//clear the screen for the new frame
ellipse(x,y,8,8);//draw the ellipse at the new position
}
x変数はnumbers[i]に少し似ています-チャンスのある値です。( を呼び出して) 画面をクリアして描画する以外に、 draw() では特別なことは何も起こりませんbackground()
。上記の例では任意の値を使用していますが、設定によっては、時間の経過とともに変化するデータ セット内の特定の値 (国の人口など) になる可能性があります。
覚えておくと便利なもう 1 つの点は、データとビジュアル コードの分離です。データ セット内の値が生の値として画面に表示できる値よりも大きい場合は、値をmap()してビューアーにしたり、ある種のナビゲーション コントロールを追加したりできます。分析された値は、現在の値の影響を受けません。表示されます。プログラミング用語では、データ/モデル、ビジュアル/ビュー (データのレンダリング方法)、およびコントロール/コントローラー間のこの分離は、モデル-ビュー-コントローラーパターンとして知られています。これは、コードを始めたばかりの人にとっては少し難しいかもしれませんが、特定の実装についてあまり気にせずに分離を意識するだけでも役に立ちます。
これは、スケッチの幅をデータ (数値) のサイズにマッピングした非常に基本的な例です。
SimpleSpreadsheetManager sm;
String sUrl = "t6mq_WLV5c5uj6mUNSryBIA";
String googleUser = "USERNAME";
String googlePass = "PASSWORD";
int[] numbers;//data used for visualisation
void setup() {
//sketch setup
size(800,800);
smooth();
fill(255,40);
noStroke();
//retrieve data
numbers = getNumbers();
}
void draw() {
background(0);
int numId = int(map(mouseX,0,width,0,numbers.length));//map mouse x position based on sketch width and data size
ellipse(numbers[numId] * 8, height/2, 8,8);
}