Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用Android SDK中的按钮触发从一个类到另一个类的方法_Java_Android_Events_Event Delegation - Fatal编程技术网

Java 使用Android SDK中的按钮触发从一个类到另一个类的方法

Java 使用Android SDK中的按钮触发从一个类到另一个类的方法,java,android,events,event-delegation,Java,Android,Events,Event Delegation,如果问得太多,我很抱歉,但我找不到足够清楚的东西 我正在为android开发一个小游戏引擎。 我已经实现了一个gamepad类来控制触摸屏。 如果有人触摸到右侧区域,game pad类会绘制一个模拟棒,并且还会绘制到侧面的按钮 问题是,简单地说,我有一个主类游戏,作为关卡类和游戏板类 在GAMEPAD代码中,当有人按下\释放按钮时,我可以触发事件。 问题是我不想通过按下GAMEPAD类中处理的按钮来触发主游戏类 在C#中,我会使用事件和委托 在Java中,我没有任何线索。。我想让gpad调用一个

如果问得太多,我很抱歉,但我找不到足够清楚的东西

我正在为android开发一个小游戏引擎。 我已经实现了一个gamepad类来控制触摸屏。 如果有人触摸到右侧区域,game pad类会绘制一个模拟棒,并且还会绘制到侧面的按钮

问题是,简单地说,我有一个主类游戏,作为关卡类和游戏板类

在GAMEPAD代码中,当有人按下\释放按钮时,我可以触发事件。 问题是我不想通过按下GAMEPAD类中处理的按钮来触发主游戏类

在C#中,我会使用事件和委托

在Java中,我没有任何线索。。我想让gpad调用一个方法来注册用户

这就是我希望在主游戏课上实现的目标

。。void onGpadClick(e EventArgument) { 如果(e.Button==Button.A&&e.ButtonState==ButtonState.Pressed)shot()

}


提前感谢

您可以使用Intents实现这一点


你能做的是:

  • 让您的GAMEPAD类接收一个实例游戏类(在其构造函数中或通过set方法)
  • 在游戏类中,可以添加包含每个按钮所需操作的方法,例如
    onbuttonclicked()
    onbuttonclicked()
    onPadClicked()
    。(如果这些是选项-如果您有更多选项,请添加更多)
  • 通过在每个按钮上设置OnClickListener(例如
    buttonA.setOnClicklistner(新建OnClickListener(){//在此处重写onClick方法})
    来检测GAMEPAD类中的点击,然后重写onClick方法并将实现添加到其中,例如
    myGame.onButtonClicked()
  • 希望能有帮助