InputEvent e = new InputEvent(); e.setType(Type.touchDown); play.fire(e); e.setType(Type.touchUp); play.fire(e);
通过fire方法模拟clicked事件,但是遇到了一个奇怪额问题.
在A screen 的 A stage的初始化方法里面使用fire 方式进去另外一个 B screen 的 B stage,然后B stage 无法接收鼠标事件.能不能接收键盘事件 没去查.
但是 如果在进入 B stage之后,在构造方法里面 继续使用 fire方式 进入到C screen 的C stage ,在C stage 里面能正常的接收到事件.
我以为是切换到另外一个screen 照成clicked后续方法没有被调用之类的问题,但是试了下 没有效果.
然后我比较 A stage 和 B stage的区别在哪. 也看不出来有什么不一样的地方.
于是我继续调整代码,试着让2个 stage 调用 fire方法完全一致.
2个screen内容也一致
stage = new AStage(); InputMultiplexer inputMultiplexer = new InputMultiplexer(); inputMultiplexer.addProcessor(stage); Gdx.input.setInputProcessor(inputMultiplexer);
都是这个代码.
我试着把A stage fire方法 放在 Gdx.input.setInputProcessor(inputMultiplexer); 后面执行.
然后B stage 的事件成功接收.一切正常了.而2个screen 2个stage 都是差不多代码.
我想这个和InputProcessor 和 初始化先后顺序 有关系.到底什么关系 没有去了解.先记录下来.
相关推荐
一个libgdx下box2d的使用实例 包括box2d刚体创建,碰撞已经刚体和texture的绑定
libGDX学习记录(一)源码,搭建一个桌面端和android端的libGDX框架,展示图片。 详细地址:https://blog.csdn.net/weixin_47450795/article/details/110003413
使用LibGDX开发一个完整游戏 教程全集
android游戏源码 libgdx引擎
libgdx TexturePackerTest
一个Libgdx开源游戏【蚂蚁回家】,使用libgdx实现,感兴趣的朋友可以下载来看看
libgdx 原生不支持中文输入,于是另辟蹊跷使用本地化组件实现中文输入。
libgdx——游戏音效
Libgdx专题系列,第一篇第一节代码下载。
libgdx Music 音乐播放
libgdx EventHandling 事件监听
Libgdx开发丛书之 Learning LibGDX Game Development, 2nd Edition
libgdx JSON
libgdx 配置文件
libGDX学习记录(二)阶段源码 展示TexturePacker合成的图片,详细地址: https://blog.csdn.net/weixin_47450795/article/details/110037945
libgdx Preference
Libgdx专题系列, 第一篇第七节代码资源文件。
一个libGdx粒子系统使用的简单Demo
使用libgdx中box2d编写的一个简单游戏测试场景,主要构造了一辆三轮车,一座塔,一块移动的box