use specific texture part for pieces

This commit is contained in:
Fabien Freling 2019-11-27 22:25:07 +01:00
parent efcb9ca4ed
commit 4419e84e25
4 changed files with 53 additions and 38 deletions

View file

@ -4,15 +4,17 @@ tool
export var size: int = 64
var number: int = 0
func set_number(num: int) -> void:
number = num
var taquin_position = Vector2(0, 0)
var piece_scale = Vector2(0.25, 0.25)
func _ready() -> void:
$ColorRect.rect_size.x = size
$ColorRect.rect_size.y = size
$ColorRect/Label.text = str(number)
var shader = $ColorRect.material as ShaderMaterial
shader.set_shader_param("scale", Vector3(0.5, 0.5, 1.0))
shader.set_shader_param("offset", Vector3(0.8, 0.1, 0.0))
# We need a dedicated material to have separate uniform,
# otherwise uniforms will be shared.
var mat = $ColorRect.material.duplicate() as ShaderMaterial
mat.set_shader_param("scale", Vector3(piece_scale.x, piece_scale.y, 1.0))
mat.set_shader_param("offset", Vector3(taquin_position.x, taquin_position.y, 0.0))
$ColorRect.material = mat