2

所以我按照Mathew Casperson 的在 Android教程上制作游戏并在几天前运行了一个小游戏,现在我试图将控件切换到触摸屏而不是 D-pad。

我遇到了一些问题,想知道这里是否有人可以帮助我。Flixel 没有任何内置的触摸屏功能,因此我onTouchEvent(MotionEvent event)在我的 Activity(FlixelDemo.java在本教程中)中进行了覆盖,并希望获得触摸的坐标。

然后我有一个函数Player.java,给定触摸坐标可以告诉我我的玩家是否被触摸。

我遇到的问题是试图弄清楚如何isCollision从活动中获取/调用该函数()。

看来我只能覆盖 onTouchEventFlixelDemo.java并且我只能在添加播放器isCollision的地方使用该功能。GameState.java

如何从被覆盖的触摸事件中获取信息到我的任何其他类?谁能告诉我我做错了什么或帮助我找出实现触摸事件的不同方式?

4

1 回答 1

0

查看代码,FlixelDemo实际上只是一个容器org.flixel.FlxGameView(通过res/layout/main.xml文件)。

onTouchEvent方法可以应用于任何View,因此您可以将其仅应用于 flixel 视口。

事实上,这可能就是您在这里想要做的:将您的处理程序直接添加到FlxGameView.java,然后让它调用内部GameThread类的方法。

它已经以这种方式处理其他事件。请参阅FlxGameView.onKeyDown(和相关的FlxGameView.GameThread.doKeyDown)以获得一个很好的示例。

于 2011-10-26T01:13:59.660 回答