gdscript 常用代码片段
主要记录代码中常用的片段, 减少重复搜索的耗时
# gdscript
中设置shader
变量
self.material.set_shader_parameter("num_positions", num_positions)
1
uniform int num_positions;
1
# 使用gdscript
创建对象节点
var ghost = preload("res://Object.tscn").instantiate(PackedScene.GEN_EDIT_STATE_INSTANCE)
get_parent().add_child(ghost)
1
2
2
# 使用gdscript
创建texture
并应用于节点
ghost.texture = preload("res://ImageRes/square/texture.png")
1
# 使用gdscript
创建shader
并应用于节点
var material = ShaderMaterial.new()
material.shader = preload("res://Objects/items/testItem/mouseDraw.gdshader")
# 将材质应用于节点
ghost.material = material
ghost.material.set_shader_parameter("window_size", get_viewport_rect().size)
1
2
3
4
5
2
3
4
5
# gdscript
创建 tween
动画
单个tween动画
var tween = get_tree().create_tween()
tween.tween_property(self, "modulate", Color(1,1,1,0),0.5).set_trans(Tween.TRANS_LINEAR).set_ease(Tween.EASE_IN_OUT)
tween.tween_callback(self.queue_free) # 动画完成后的回调函数,执行的释放节点的功能
1
2
3
2
3
多个tween动画同时播放
var tween = get_tree().create_tween()
tween.parallel().tween_property(self, "scale", Vector2(0.1, 0.1), 1).set_trans(Tween.TRANS_LINEAR).set_ease(Tween.EASE_IN_OUT)
tween.parallel().tween_property(self, "modulate", Color(1,1,1,0),0.5).set_trans(Tween.TRANS_LINEAR).set_ease(Tween.EASE_IN_OUT)
tween.parallel().tween_property(self, "rotation", 360, 0.5).set_trans(Tween.TRANS_LINEAR).set_ease(Tween.EASE_IN_OUT)
tween.tween_callback(self.queue_free)
1
2
3
4
5
2
3
4
5
编辑 (opens new window)
上次更新: 2024/05/22, 14:11:38