reveal 2 cards for oya

main
Fabien Freling 2022-01-23 23:56:54 +01:00
parent be42f116d7
commit d4e5a921d8
3 changed files with 52 additions and 8 deletions

View File

@ -68,3 +68,36 @@ func _set_card_month(new_month: int) -> void:
func _set_card_type(new_type: int) -> void:
value.type = new_type
func set_size(new_size: Vector2) -> void:
if not _is_ready:
yield(self, "ready")
var texture_size = $Frontside.texture.get_size()
var scale = new_size / texture_size
self.scale = scale
func set_min_dimension(dim: int) -> void:
if not _is_ready:
yield(self, "ready")
var texture_size = $Frontside.texture.get_size()
var scale = Vector2(dim, dim) / texture_size
var max_scale = max(scale.x, scale.y)
self.scale = Vector2(max_scale, max_scale)
func set_max_dimension(dim: int) -> void:
if not _is_ready:
yield(self, "ready")
var texture_size = $Frontside.texture.get_size()
var scale = Vector2(dim, dim) / texture_size
var min_scale = min(scale.x, scale.y)
self.scale = Vector2(min_scale, min_scale)
func get_size() -> Vector2:
if not _is_ready:
yield(self, "ready")
var texture_size = $Frontside.texture.get_size()
return texture_size * self.scale

View File

@ -1,7 +1,7 @@
[gd_scene load_steps=5 format=2]
[ext_resource path="res://HanafudaCard.gd" type="Script" id=1]
[ext_resource path="res://assets/png/Hanafuda_July_Kasu_1.png" type="Texture" id=2]
[ext_resource path="res://assets/png/Hanafuda_January_Hikari.png" type="Texture" id=2]
[ext_resource path="res://assets/png/Hanafuda_border.png" type="Texture" id=3]
[ext_resource path="res://assets/japanese_pattern_01.png" type="Texture" id=4]

25
Main.gd
View File

@ -10,19 +10,30 @@ func _ready():
func oya():
tween.start()
var deck_position = Vector2(10, 10)
var card_reveal_duration = 0.5
var card_dim = 150
var card_1 = HanafudaCard.instance().init_card($Deck.draw_card())
card_1.set_min_dimension(card_dim)
add_child(card_1)
# card_1.show()
var card_size = card_1.get_size()
var padding = 20
var delta_x = (card_size.x + padding) / 2
tween.interpolate_property(card_1, "position",
Vector2(0, 0), Vector2(100, 100), 3,
deck_position, Vector2(get_viewport().size.x / 2 - delta_x, get_viewport().size.y / 2),
card_reveal_duration,
Tween.TRANS_LINEAR, Tween.EASE_IN_OUT)
# var card_2 = $Deck.card($Deck.draw_card())
# card_2.show()
# tween.interpolate_property(card_2, "position",
# Vector2(0, 0), Vector2(-100, 100), 0.4,
# Tween.TRANS_LINEAR, Tween.EASE_IN_OUT)
var card_2 = HanafudaCard.instance().init_card($Deck.draw_card())
card_2.set_min_dimension(card_dim)
add_child(card_2)
tween.interpolate_property(card_2, "position",
deck_position, Vector2(get_viewport().size.x / 2 + delta_x, get_viewport().size.y / 2),
card_reveal_duration,
Tween.TRANS_LINEAR, Tween.EASE_IN_OUT)
yield(tween, "tween_all_completed")