?? wrnunchukextensionevent.java
字號:
// Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://kpdus.tripod.com/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi space
// Source File Name: WRNunchukExtensionEvent.java
package wiiremotej.event;
import wiiremotej.*;
// Referenced classes of package wiiremotej.event:
// WRExtensionEvent, WRAccelerationEvent
public class WRNunchukExtensionEvent extends WRExtensionEvent
{
private AnalogStickData analogStickData;
public static final int C = 2;
public static final int Z = 1;
private WRAccelerationEvent accelerationEvent;
private int buttonsPressed;
private WRNunchukExtensionEvent lastEvent;
public WRNunchukExtensionEvent(WiiRemote wiiremote, byte abyte0[], int i, WRNunchukExtensionEvent wrnunchukextensionevent)
{
super(wiiremote);
lastEvent = wrnunchukextensionevent;
if (wrnunchukextensionevent != null)
wrnunchukextensionevent.lastEvent = null;
double d = abyte0[i + 0] & 0xff;
double d1 = abyte0[i + 1] & 0xff;
int j = ((abyte0[i + 2] & 0xff) << 2) + ((abyte0[i + 5] & 0xc) >> 2);
int k = ((abyte0[i + 3] & 0xff) << 2) + ((abyte0[i + 5] & 0x30) >> 4);
int l = ((abyte0[i + 4] & 0xff) << 2) + ((abyte0[i + 5] & 0xc0) >> 6);
buttonsPressed = ~(abyte0[i + 5] & 3);
NunchukCalibrationData nunchukcalibrationdata = ((NunchukExtension)getSource().getExtension()).getCalibrationData();
d -= nunchukcalibrationdata.analogXCenter();
if (d > 0.0D)
d /= nunchukcalibrationdata.analogXMaximum() - nunchukcalibrationdata.analogXCenter();
else
d /= nunchukcalibrationdata.analogXCenter() - nunchukcalibrationdata.analogXMinimum();
d1 -= nunchukcalibrationdata.analogYCenter();
if (d1 > 0.0D)
d1 /= nunchukcalibrationdata.analogYMaximum() - nunchukcalibrationdata.analogYCenter();
else
d1 /= nunchukcalibrationdata.analogYCenter() - nunchukcalibrationdata.analogYMinimum();
analogStickData = new AnalogStickData(d, d1);
double d2 = ((double)j - nunchukcalibrationdata.xZero()) / nunchukcalibrationdata.xOne();
double d3 = ((double)k - nunchukcalibrationdata.yZero()) / nunchukcalibrationdata.yOne();
double d4 = ((double)l - nunchukcalibrationdata.zZero()) / nunchukcalibrationdata.zOne();
accelerationEvent = new WRAccelerationEvent(wiiremote, d2, d3, d4);
}
public WRNunchukExtensionEvent(WiiRemote wiiremote, WRAccelerationEvent wraccelerationevent, int i, AnalogStickData analogstickdata, WRNunchukExtensionEvent wrnunchukextensionevent)
{
super(wiiremote);
accelerationEvent = wraccelerationevent;
buttonsPressed = i;
analogStickData = analogstickdata;
lastEvent = wrnunchukextensionevent;
if (wrnunchukextensionevent != null)
wrnunchukextensionevent.lastEvent = null;
}
private WRNunchukExtensionEvent()
{
}
public static WRNunchukExtensionEvent createBlankEvent()
{
WRNunchukExtensionEvent wrnunchukextensionevent = new WRNunchukExtensionEvent();
wrnunchukextensionevent.buttonsPressed = 0;
return wrnunchukextensionevent;
}
public WRAccelerationEvent getAcceleration()
{
return accelerationEvent;
}
public AnalogStickData getAnalogStickData()
{
return analogStickData;
}
public boolean isPressed(int i)
{
return (buttonsPressed & i) == i;
}
public boolean isOnlyPressed(int i)
{
return buttonsPressed == i;
}
public boolean isAnyPressed(int i)
{
return (buttonsPressed & i) != 0;
}
public boolean wasPressed(int i)
{
return !lastEvent.isPressed(i) && isPressed(i);
}
public boolean wasOnlyPressed(int i)
{
return !lastEvent.isPressed(i) && isOnlyPressed(i);
}
public boolean wasReleased(int i)
{
return lastEvent.isPressed(i) && !isPressed(i);
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -