csharp_pain/Solar system/sss3d-source/sss3d/utils/joystick/ButtonSensorBehavior.java

69 lines
1.8 KiB
Java
Raw Normal View History

2014-06-26 15:13:46 +00:00
/*
File: ButtonSensorBehavior.java
University of Applied Science Berne,HTA-Biel/Bienne,
Computer Science Department.
Diploma thesis J3D Solar System Simulator
Originally written by Marcel Portner & Bernhard Hari (c) 2000
CVS - Information :
$Header: /var/cvsreps/projects/c450/2000/sss3d/source_diploma/sss3d/utils/joystick/ButtonSensorBehavior.java,v 1.3 2000/12/13 13:41:49 portm Exp $
$Author: portm $
$Date: 2000/12/13 13:41:49 $
$State: Exp $
*/
package sss3d.utils.joystick;
import javax.media.j3d.*;
import java.util.*;
/**
* This Class can process the Input from the Joystick Buttons.
* Up to now, it will only print out the Button number witch has been pressed.
* For further functionality you may add some other Objects to the Constructor.
* For the description of the Methods, see the Behavior Class!
*
* @version 1.1, June 1999
* @author M. Schlegel, HTA Biel
* @see javax.media.j3d.Behavior
*/
public class ButtonSensorBehavior extends Behavior {
private WakeupCriterion conditions = new WakeupOnElapsedFrames(4);
private Sensor sensor;
private int buttons[]= new int[4];
/**
* The sensorobject must support the method "lastButtons(buttons[])" to make this class working
*/
public ButtonSensorBehavior(Sensor sensor ) {
this.sensor = sensor;
}
/**
* Initializes this behavior.
*/
public void initialize() {
wakeupOn(conditions);
}
/**
* Processes the Stimulus.
* Currently called after four elapsed frames.
*
* @param criteria an enumeration
*/
public void processStimulus(Enumeration criteria) {
sensor.lastButtons(buttons);
for (int i=0; i<4;i++){
if (buttons[i]!=0)
System.out.println("Button "+(i+1)+" pressed!");
}
wakeupOn(conditions);
}
}