7.代码
最终代码如下(代码照着图片手动格式化):
#代码开始
extends Area2D
var shortpressed = false
var longpressed = false
func _on_MouseClickEventExample_input_event(viewport, event, shape_idx):
if event is InputEventMouseButton and event.button_index == BUTTON_LEFT and event.pressed:
$Timer.start()
shortpressed = true
longpressed = true
if event is InputEventMouseButton and event.button_index == BUTTON_LEFT and not event.pressed:
if $Timer.time_left > 0:
$Timer.stop()
longpressed = false
print("识别为短按"," long:",longpressed," short:",shortpressed)
#Godot 原版自带的双击识别,和本代码有一定的逻辑重复
#if event is InputEventMouseButton and event.button_index == BUTTON_LEFT and event.doubleclick:
#print("识别为双击")
func _on_Timer_timeout():
if longpressed:
shortpressed = false
print("识别为长按"," long:",longpressed," short:",shortpressed)
#代码结束
