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)
#代码结束
![](http://tiebapic.baidu.com/forum/w%3D580/sign=97c368a0d758d109c4e3a9bae159ccd0/de04be4bd11373f0c8956441e10f4bfbfaed0408.jpg?tbpicau=2025-02-28-05_d6b51bcc6955fa379ad89d8df425e078)