本文整理汇总了Java中net.java.games.input.Event.getComponent方法的典型用法代码示例。如果您正苦于以下问题:Java Event.getComponent方法的具体用法?Java Event.getComponent怎么用?Java Event.getComponent使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类net.java.games.input.Event
的用法示例。
在下文中一共展示了Event.getComponent方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: run
import net.java.games.input.Event; //导入方法依赖的package包/类
@Override
public void run() {
EventDispatcher.getInstance().addListener(CloseEvent.class, this);
if (FIRST_GAMEPAD == null) {
// Couldn't find a gamepad
LOG.warning("No gamepad found. The GamepadMonitor is not going to run.");
this.running = false;
} else {
this.running = true;
}
while (this.running) {
FIRST_GAMEPAD.poll();
EventQueue queue = FIRST_GAMEPAD.getEventQueue();
// Create an event object to pass down to get populated with the information.
Event event = new Event();
while (queue.getNextEvent(event)) {
Component comp = event.getComponent();
if (!comp.isAnalog() || Math.abs(event.getValue()) > ANALOG_DEAD_ZONE) {
EventDispatcher.getInstance().fire(
new GamepadEvent(comp.getName(),
comp.isAnalog(),
event.getValue())
);
}
}
try {
Thread.sleep(30);
} catch (InterruptedException e) {
LOG.severe(e.getMessage());
}
}
EventDispatcher.getInstance().removeListener(CloseEvent.class, this);
}
示例2: isPressed
import net.java.games.input.Event; //导入方法依赖的package包/类
private boolean isPressed(Event event) {
Component component = event.getComponent();
if (component.isAnalog()) {
if (Math.abs(event.getValue()) > 0.2f) {
return true;
} else {
return false;
}
} else if (event.getValue() == 0) {
return false;
} else {
return true;
}
}
示例3: actionPerformed
import net.java.games.input.Event; //导入方法依赖的package包/类
@Override
public void actionPerformed(ActionEvent e) {
JButton button = (JButton) e.getSource();
button.setEnabled(false);
Event event = new Event();
long currentTime = System.currentTimeMillis();
while (!queue.getNextEvent(event) && System.currentTimeMillis() - currentTime < 5000) {
}
Component comp = event.getComponent();
switch (e.getActionCommand()) {
case "upServo":
upServoComponent = comp;
break;
case "downServo":
downServoComponent = comp;
break;
case "rightServo":
rightServoComponent = comp;
break;
case "leftServo":
leftServoComponent = comp;
break;
case "forward":
forwardComponent = comp;
break;
case "back":
backComponent = comp;
break;
case "left":
leftComponent = comp;
break;
case "right":
rightComponent = comp;
break;
}
setLabels();
button.setEnabled(true);
}
示例4: poll
import net.java.games.input.Event; //导入方法依赖的package包/类
public void poll() {
target.poll();
Event event = new Event();
EventQueue queue = target.getEventQueue();
while (queue.getNextEvent(event)) {
// handle button event
if (buttons.contains(event.getComponent())) {
Component button = event.getComponent();
int buttonIndex = buttons.indexOf(button);
buttonState[buttonIndex] = event.getValue() != 0;
// fire button pressed event
Controllers.addEvent(new ControllerEvent(this,event.getNanos(),ControllerEvent.BUTTON,buttonIndex,false,false));
}
// handle pov events
if (pov.contains(event.getComponent())) {
Component povComponent = event.getComponent();
int povIndex = pov.indexOf(povComponent);
float prevX = getPovX();
float prevY = getPovY();
povValues[povIndex] = event.getValue();
if (prevX != getPovX()) {
Controllers.addEvent(new ControllerEvent(this,event.getNanos(),ControllerEvent.POVX,0,false,false));
}
if (prevY != getPovY()) {
Controllers.addEvent(new ControllerEvent(this,event.getNanos(),ControllerEvent.POVY,0,false,false));
}
}
// handle axis updates
if (axes.contains(event.getComponent())) {
Component axis = event.getComponent();
int axisIndex = axes.indexOf(axis);
float value = axis.getPollData();
// fixed dead zone since most axis don't report it :(
if (Math.abs(value) < deadZones[axisIndex]) {
value = 0;
}
if (Math.abs(value) < axis.getDeadZone()) {
value = 0;
}
if (Math.abs(value) > axesMax[axisIndex]) {
axesMax[axisIndex] = Math.abs(value);
}
// normalize the value based on maximum value read in the past
value /= axesMax[axisIndex];
// fire event
Controllers.addEvent(new ControllerEvent(this,event.getNanos(),ControllerEvent.AXIS,axisIndex,
axisIndex == xaxis,axisIndex == yaxis));
axesValue[axisIndex] = value;
}
}
}
示例5: eventQueueLoop
import net.java.games.input.Event; //导入方法依赖的package包/类
private Runnable eventQueueLoop() {
return new Runnable() {
@Override
public void run() {
if (gameController != null) {
Event event = new Event();
while (!Thread.interrupted()) {
gameController.poll();
EventQueue queue = gameController.getEventQueue();
while (queue.getNextEvent(event)) {
Component component = event.getComponent();
if (component.getIdentifier() == Component.Identifier.Axis.X) {
if (event.getValue() > threshold) {
gamepadbyte |= BIT7;//left on, right off
gamepadbyte &= ~BIT6;
} else if (event.getValue() < -threshold) {
gamepadbyte |= BIT6;
gamepadbyte &= ~BIT7;
} else {
gamepadbyte &= ~(BIT7 | BIT6);
}
} else if (component.getIdentifier() == Component.Identifier.Axis.Y) {
if (event.getValue() > threshold) {
gamepadbyte |= BIT5;//up on, down off
gamepadbyte &= ~BIT4;
} else if (event.getValue() < -threshold) {
gamepadbyte |= BIT4;//down on, up off
gamepadbyte &= ~BIT5;
} else {
gamepadbyte &= ~(BIT4 | BIT5);
}
} else if (component == buttons[0]) {
if (isPressed(event)) {
gamepadbyte |= BIT0;
} else {
gamepadbyte &= ~BIT0;
}
} else if (component == buttons[1]) {
if (isPressed(event)) {
gamepadbyte |= BIT1;
} else {
gamepadbyte &= ~BIT1;
}
} else if (component == buttons[2]) {
if (isPressed(event)) {
gamepadbyte |= BIT2;
} else {
gamepadbyte &= ~BIT2;
}
} else if (component == buttons[3]) {
if (isPressed(event)) {
gamepadbyte |= BIT3;
} else {
gamepadbyte &= ~BIT3;
}
}
}
try {
Thread.sleep(5);
} catch (InterruptedException e) {
// Preserve interrupt status
Thread.currentThread().interrupt();
}
}
}
}
};
}
示例6: poll
import net.java.games.input.Event; //导入方法依赖的package包/类
public void poll() {
target.poll();
Event event = new Event();
EventQueue queue = target.getEventQueue();
while (queue.getNextEvent(event)) {
// handle button event
if (buttons.contains(event.getComponent())) {
Component button = event.getComponent();
int buttonIndex = buttons.indexOf(button);
buttonState[buttonIndex] = event.getValue() != 0;
// fire button pressed event
Controllers.addEvent(new ControllerEvent(this,event.getNanos(),ControllerEvent.BUTTON,buttonIndex,
buttonState[buttonIndex],false,false,0,0));
}
// handle pov events
if (pov.contains(event.getComponent())) {
Component povComponent = event.getComponent();
int povIndex = pov.indexOf(povComponent);
float prevX = getPovX();
float prevY = getPovY();
povValues[povIndex] = event.getValue();
if (prevX != getPovX()) {
Controllers.addEvent(new ControllerEvent(this,event.getNanos(),ControllerEvent.POVX,0,false,false));
}
if (prevY != getPovY()) {
Controllers.addEvent(new ControllerEvent(this,event.getNanos(),ControllerEvent.POVY,0,false,false));
}
}
// handle axis updates
if (axes.contains(event.getComponent())) {
Component axis = event.getComponent();
int axisIndex = axes.indexOf(axis);
float value = axis.getPollData();
float xaxisValue = 0;
float yaxisValue = 0;
// fixed dead zone since most axis don't report it :(
if (Math.abs(value) < deadZones[axisIndex]) {
value = 0;
}
if (Math.abs(value) < axis.getDeadZone()) {
value = 0;
}
if (Math.abs(value) > axesMax[axisIndex]) {
axesMax[axisIndex] = Math.abs(value);
}
// normalize the value based on maximum value read in the past
value /= axesMax[axisIndex];
if (axisIndex == xaxis) {
xaxisValue = value;
}
if (axisIndex == yaxis) {
yaxisValue = value;
}
// fire event
Controllers.addEvent(new ControllerEvent(this,event.getNanos(),ControllerEvent.AXIS,axisIndex,false,
axisIndex == xaxis,axisIndex == yaxis,xaxisValue,yaxisValue));
axesValue[axisIndex] = value;
}
}
}
示例7: eventQueueLoop
import net.java.games.input.Event; //导入方法依赖的package包/类
private Runnable eventQueueLoop() {
return new Runnable() {
@Override
public void run() {
if (gameController != null) {
Event event = new Event();
while (!Thread.interrupted()) {
gameController.poll();
EventQueue queue = gameController.getEventQueue();
while (queue.getNextEvent(event)) {
Component component = event.getComponent();
if (component.getIdentifier() == Component.Identifier.Axis.X) {
if (event.getValue() > threshold) {
gamepadbyte |= BIT7;//left on, right off
gamepadbyte &= ~BIT6;
} else if (event.getValue() < -threshold) {
gamepadbyte |= BIT6;
gamepadbyte &= ~BIT7;
} else {
gamepadbyte &= ~(BIT7 | BIT6);
}
} else if (component.getIdentifier() == Component.Identifier.Axis.Y) {
if (event.getValue() > threshold) {
gamepadbyte |= BIT5;//up on, down off
gamepadbyte &= ~BIT4;
} else if (event.getValue() < -threshold) {
gamepadbyte |= BIT4;//down on, up off
gamepadbyte &= ~BIT5;
} else {
gamepadbyte &= ~(BIT4 | BIT5);
}
} else if (component == buttons[0]) {
if (isPressed(event)) {
gamepadbyte |= BIT0;
} else {
gamepadbyte &= ~BIT0;
}
} else if (component == buttons[1]) {
if (isPressed(event)) {
gamepadbyte |= BIT1;
} else {
gamepadbyte &= ~BIT1;
}
} else if (component == buttons[2]) {
if (isPressed(event)) {
gamepadbyte |= BIT2;
} else {
gamepadbyte &= ~BIT2;
}
} else if (component == buttons[3]) {
if (isPressed(event)) {
gamepadbyte |= BIT3;
} else {
gamepadbyte &= ~BIT3;
}
}
}
try {
Thread.sleep(5);
} catch (InterruptedException e) {
// Preserve interrupt status
Thread.currentThread().interrupt();
}
}
}
}
};
}
示例8: poll
import net.java.games.input.Event; //导入方法依赖的package包/类
public void poll() {
target.poll();
Event event = new Event();
EventQueue queue = target.getEventQueue();
while (queue.getNextEvent(event)) {
// handle button event
if (buttons.contains(event.getComponent())) {
Component button = event.getComponent();
int buttonIndex = buttons.indexOf(button);
buttonState[buttonIndex] = event.getValue() != 0;
// fire button pressed event
Controllers.addEvent(new ControllerEvent(this, event.getNanos(), ControllerEvent.BUTTON, buttonIndex,
buttonState[buttonIndex], false, false, 0, 0));
}
// handle pov events
if (pov.contains(event.getComponent())) {
Component povComponent = event.getComponent();
int povIndex = pov.indexOf(povComponent);
float prevX = getPovX();
float prevY = getPovY();
povValues[povIndex] = event.getValue();
if (prevX != getPovX()) {
Controllers.addEvent(new ControllerEvent(this, event.getNanos(), ControllerEvent.POVX, 0, false, false));
}
if (prevY != getPovY()) {
Controllers.addEvent(new ControllerEvent(this, event.getNanos(), ControllerEvent.POVY, 0, false, false));
}
}
// handle axis updates
if (axes.contains(event.getComponent())) {
Component axis = event.getComponent();
int axisIndex = axes.indexOf(axis);
float value = axis.getPollData();
float xaxisValue = 0;
float yaxisValue = 0;
// fixed dead zone since most axis don't report it :(
if (Math.abs(value) < deadZones[axisIndex]) {
value = 0;
}
if (Math.abs(value) < axis.getDeadZone()) {
value = 0;
}
if (Math.abs(value) > axesMax[axisIndex]) {
axesMax[axisIndex] = Math.abs(value);
}
// normalize the value based on maximum value read in the past
value /= axesMax[axisIndex];
if (axisIndex == xaxis) {
xaxisValue = value;
}
if (axisIndex == yaxis) {
yaxisValue = value;
}
// fire event
Controllers.addEvent(new ControllerEvent(this, event.getNanos(), ControllerEvent.AXIS, axisIndex, false,
axisIndex == xaxis, axisIndex == yaxis, xaxisValue, yaxisValue));
axesValue[axisIndex] = value;
}
}
}