あなたの助けが必要です。Wiiリモコンを使用する制御プログラムを作成しています.2つの異なるタイプの制御を作成する必要があります. 各コントローラー コードは、クラス controlType1 および controlType2 で定義されます (#2 はここには含まれていませんが、ほとんどは #1 と同じです)。
アイデアは、WiiMote の特定のボタンを押すと、コントローラーが type1 から type2 に切り替わるというものです。私は2つのオブジェクトをインスタンス化しました。ボタンが押されたときにオブジェクトの1つのリスナーを削除し、他のオブジェクトに変更する必要があります。
現在、私はここまで行ってここで立ち往生しています。どうすればいいですか?
public class WiiDroneControl implements ControlSwitchListener {
private Wiimote wiimote;
private WiimoteListener control1 = (WiimoteListener) new controlType1(this);
private WiimoteListener control2 = (WiimoteListener) new controlType2(this);
public WiiDroneControl() {
Wiimote wiimotes[] = WiiUseApiManager.getWiimotes(1, true);
if(wiimotes!= null && wiimotes.length > 0)
{
wiimote = wiimotes[0];
wiimote.addWiiMoteEventListeners(control1);
wiimote.addWiiMoteEventListeners(control2);
wiimote.activateMotionSensing();
wiimote.activateContinuous();
wiimote.getStatus();
}
}
@Override
public void onSwitchEvent() {
// TODO Auto-generated method stub
}
}
他のクラス
public class controlType1 implements WiimoteListener{
ControlSwitchListener listener = null;
public controlType1(ControlSwitchListener l) {
listener = l;
}
@Override
public void onButtonsEvent(WiimoteButtonsEvent e) {
// TODO Auto-generated method stub
listener.onSwitchEvent();
if (e.isButtonOnePressed())
{
//switch controller object when this button is pressed
}
}
}