山东大学软件实验课程-Ebiten-基于go语言实现的2D游戏库源码分析第六篇-学习inpututil包内函数 2021SC@SDUSC

本文详细介绍了Ebiten游戏库中与输入处理相关的函数,包括AppendPressedKeys()用于收集当前按下键盘键,IsMouseButtonJustPressed()和IsMouseButtonJustReleased()监测鼠标按钮的按下和释放,以及MouseButtonDownDuration()计算响应时间。同时,还讨论了手柄输入的IsStandardGamepadButtonJustPressed()和IsStandardGamepadButtonJustReleased()以及StandardGamepadButtonPressDuration()函数,所有这些函数都在并发环境中工作。
摘要由CSDN通过智能技术生成

2021SC@SDUSC

目录

一、AppendPressedKeys()函数

二、IsMouseButtonJustPressed()函数、IsMouseButtonJustReleased()函数、MonseButtonPressDuration(0函数

三、IsStandardGamepadButtonJustPressed()函数、 IsStandardGamepadButtonJustReleased函数、StandardGamepadButtonPressDuration()函数


一、AppendPressedKeys()函数

func AppendPressedKeys(keys []ebiten.Key) []ebiten.Key {
	theInputState.m.RLock()
	defer theInputState.m.RUnlock()

	for i, d := range theInputState.keyDurations {
		if d == 0 {
			continue
		}
		keys = append(keys, ebiten.Key(i))
	}
	return keys
}

该函数目的为将当前按下的键盘键附加到键中,并返回扩展的缓冲区。给予一个已经有足够容量的有效空间。

举一个调用实例:在examples包中的Keyboard小游戏中调用了该函数:

func (g *Game) Update() error {
	g.keys = inpututil.AppendPressedKeys(g.keys[:0])
	return nil
}

目的是获取键盘输入值。

二、IsMouseButtonJustPressed()函数、IsMouseButtonJustReleased()函数、MonseButto

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值