// bounce.java import vrml.*; import vrml.node.*; import vrml.field.*; import java.io.*; import java.util.*; public class bounce extends Script{ // Define all the eventOuts and fields as class variables. private SFBool roll; private MFVec3f keyValue; private float jkeyValue[][]; private float z; private float k; private float offset; private Random temp; public void initialize () { keyValue = (MFVec3f) getEventOut("keyValue"); jkeyValue = new float[91][3]; temp = new Random(); } private void start_bounce(boolean bval){ if (bval == true) { jkeyValue[0][0] = -2.6f; jkeyValue[0][1] = .95f; jkeyValue[0][2] = 0; for (int j = 0; j < 9; j++) { k = (float)(Math.random()*8); z = 0; offset = -k / 4; System.out.println("test" + j); for (int i = j * 10; i < 10 * (j+1); i++) { jkeyValue[i + 1][0] = 0; jkeyValue[i + 1][1] = (float)((-k * Math.pow((z - 0.5f),2)) - offset); System.out.println(jkeyValue[i][1]); jkeyValue[i + 1][2] = 0; z = z + (1.0f / 9.0f); } } keyValue.setValue(jkeyValue); } } public void processEvent(Event e){ String EventName = e.getName(); if (EventName.equals("start_bounce")) start_bounce(((ConstSFBool)e.getValue()).getValue()); } }