
Godot
studying and codeing of godot
Cherie520
这个作者很懒,什么都没留下…
展开
-
代码中编辑AnimationPlayer之属性、方法
一般来说,添加一个AnimationPlayer的子节点,然后通过编辑器编辑动画,几乎可以满足所有需求,但是如果需要在代码中编辑,可以通过如下形式实现: 新建一个场景,跟节点为Node2D,新增一个Sprite字节点重命名为Sp,脚本如下:extends Node2D# 跟节点func _ready(): var ap = AnimationPlayer.new() add_child(ap) var animation = Animation.new() var tr...原创 2020-07-13 14:21:30 · 870 阅读 · 0 评论 -
Godot 3D 人物血条实现
原理其实很简单,将3D模型的坐标转为屏幕坐标,然后实时更新UI(血条)即可,直接上关键代码:func updateUI(delta): #Update for UI #人物的全局坐标 var world_pos = global_transform.origin #这里的uiSize即为血条的UI控件大小 #camera = get_viewport().get_camera() 即为当前视图的摄像头 #通过unproject_position将3D坐标转为屏幕坐标,这里由于人物坐标位于中原创 2020-06-26 20:49:34 · 980 阅读 · 0 评论 -
Godot 旋转问题
在游戏场景中,有一个物体A,由一个初始朝向,此时如果附件出现敌人,那么需要改变朝向,然后做一些其它事情,比如攻击等待,这里要讨论的就是改变朝向这个动作。2D世界:假设A默认向右,这里可以用向量Vector2(1,0)表示其初始朝向,目标为target,则可以先计算目标方向,然后旋转到目标方向,关键代码如下:#http://kidscancode.org/blog/2018/04/godot3_tanks_part3/#向目标target旋转func arm(target, delta):原创 2020-06-24 17:23:36 · 3048 阅读 · 0 评论