06.01.2013 Views

Learning Processing: A Beginner's Guide to Programming Images ...

Learning Processing: A Beginner's Guide to Programming Images ...

Learning Processing: A Beginner's Guide to Programming Images ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

334 <strong>Learning</strong> <strong>Processing</strong><br />

Example 18-4: Loading and saving data <strong>to</strong> text fi le<br />

// An array of Bubble objects<br />

Bubble[] bubbles;<br />

void setup() {<br />

size(200,200);<br />

smooth();<br />

// Load text file as a string<br />

String[] data = loadStrings(" data.txt " );<br />

Bubble data is loaded in setup().<br />

// Make as many objects as lines in the text file<br />

bubbles = new Bubble[data.length];<br />

// Convert values <strong>to</strong> floats and pass in<strong>to</strong> Bubble construc<strong>to</strong>r<br />

for (int i = 0; i < bubbles.length; i + + ) {<br />

float[] values = float(split(data[i], " , " ));<br />

bubbles[i] = new Bubble(values[0],values[1],values[2]);<br />

}<br />

}<br />

void draw() {<br />

background(255);<br />

// Display and move all bubbles<br />

for (int i = 0; i < bubbles.length; i + +) {<br />

bubbles[i].display();<br />

bubbles[i].drift();<br />

// Change bubbles if mouse rolls over<br />

if (bubbles[i].rollover(mouseX,mouseY)) {<br />

bubbles[i].change();<br />

}<br />

}<br />

}<br />

// Save new Bubble data when mouse is Pressed<br />

void mousePressed() {<br />

saveData();<br />

}<br />

void saveData() {<br />

// For each Bubble make one String <strong>to</strong> be saved<br />

String[] data = new String[bubbles.length];<br />

for (int i = 0; i < bubbles.length; i + +) {<br />

// Concatenate bubble variables<br />

data[i] = bubbles[i].r + " , " + bubbles[i].g + " , " + bubbles[i].diameter;<br />

}<br />

// Save <strong>to</strong> File<br />

saveStrings( " data/data.txt ",data);<br />

}<br />

// A Bubble class<br />

class Bubble {<br />

float x,y;<br />

float diameter;<br />

float speed;<br />

float r,g;<br />

The same fi le is overwritten by<br />

adding the “data” folder path<br />

<strong>to</strong> saveStrings() as shown in<br />

Figure 18.8.<br />

Bubble data is saved in<br />

mousePressed().<br />

Bubble(float r_,float g_, float diameter_) {<br />

x = random(width);<br />

y = height;<br />

r = r_;<br />

g = g_; fi g 18.8 The new data fi le after save strings ( )

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!