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