Files
2020-04-07 17:02:52 +08:00

51 lines
1.1 KiB
GDScript

extends Node2D
var texture = load("res://Asset/Tile/HandinTilesSheet.png")
signal pressed
# Called when the node enters the scene tree for the first time.
func _ready():
pass
func show_tiles(suit, number):
clear_tiles()
for i in range(3):
var t = get_tile_instance(suit, number+i-1)
add_child(t)
t.position = Vector2(i*Constants.Tile.CHOW_WIDTH, 0)
show()
func get_tile_instance(suit, number):
var tile = Sprite.new()
tile.texture = texture
tile.centered = false
tile.vframes = 5
tile.hframes = 9
tile.frame_coords = Vector2(number-1, suit)
tile.scale = Vector2(Constants.Tile.CHOW_SCALE, Constants.Tile.CHOW_SCALE)
return tile
func clear_tiles():
for child in get_children():
remove_child(child)
child.queue_free()
func _input(event):
if !is_visible_in_tree() :
return
if (event is InputEventMouseButton or event is InputEventScreenTouch) and event.pressed:
if Rect2(0,0,Constants.Tile.CHOW_WIDTH*3, Constants.Tile.HEIGHT).has_point(to_local(event.position)):
print_debug("mid-chow pressed")
emit_signal("pressed")
# Called every frame. 'delta' is the elapsed time since the previous frame.
#func _process(delta):
# pass