libgdx 输入事件系统

libgdx提供了两种获取输入事件的方式:轮询和事件回调


轮询:

if(Gdx.input.isTouched()){
    float x=Gdx.input.getX();
    float y=Gdx.input.getY();
    //do something
}

在任何地方通过以上的方法去判断是否有点击事件,一般会放在大循环中


事件回调:

Gdx.input.setInputProcessor(stage);

首先向libgdx注册事件的回调接口(整个程序只允许有一个),比如像上面的把stage传入(stage继承至InputAdapter)

然后有事件时stage中的事件回调函数就会被触发。


给Actor添加监听事件时需要设置Actor为可点击状态

myActor.setTouchable(Touchable.enabled);

然后给他添加监听事件

myActor.addListener(new InputListener(){
    @Override
    public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
        return super.touchDown(event, x, y, pointer, button);
    }

    @Override
    public void touchUp(InputEvent event, float x, float y, int pointer, int button) {
        super.touchUp(event, x, y, pointer, button);
    }

    @Override
    public void touchDragged(InputEvent event, float x, float y, int pointer) {
        super.touchDragged(event, x, y, pointer);
    }
});

注意但stage的touchDown方法返回true时其下的所有的Actor的touchDown方法都不会被调用,而且Actor的touchDown方法返回值不是true时touchUp和touchDragged方法都不会被调用

转载于:https://my.oschina.net/u/2290351/blog/469291

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值