所以我关注了Mathew Casperson's Making Games on Android Tutorial几天前运行了一个小游戏,现在我正在尝试将控件切换到触摸屏而不是方向键。
我遇到了一些问题,想知道这里是否有人可以帮助我。 Flixel 没有任何内置的触摸屏功能,所以我在我的 Activity 中覆盖了 onTouchEvent(MotionEvent event)
(教程中的 FlixelDemo.java
)并希望获得坐标触摸。
然后我在我的 Player.java
中有一个函数,给定触摸坐标可以告诉我我的播放器是否被触摸。
我遇到的问题是试图找出如何从 Activity 中获取/调用该函数 (isCollision
)。
似乎我只能覆盖 FlixelDemo.java
中的 onTouchEvent 并且我只能使用 GameState.java
中的 isCollision
函数我在哪里添加播放器。
如何从覆盖的触摸事件中获取信息到我的任何其他类?任何人都可以告诉我我做错了什么或帮助我找出实现触摸事件的不同方式吗?
最佳答案
查看代码,FlixelDemo
实际上只是 org.flixel.FlxGameView
的容器(通过 res/layout/main.xml
文件)。
onTouchEvent
方法可以应用于任何 View
,因此您可以仅将其应用于 flixel 视口(viewport)。
事实上,这可能就是您想在这里做的:将您的处理程序直接添加到 FlxGameView.java
,然后让它调用内部 GameThread
上的方法类。
它已经在以这种方式处理其他事件。请参阅 FlxGameView.onKeyDown
(以及关联的 FlxGameView.GameThread.doKeyDown
)以获得一个很好的示例。
关于android - 用 Flixel 覆盖 onTouchEvent(Android 端口),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7720285/