⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wrnunchukextensionevent.java

📁 支持任天堂wii2手柄的java中间件
💻 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 + -