Godot Best practices

Get Forward Vector

python 复制代码
transform.x
# 等价手算
var rad = node.rotation
var forward = Vector2(cos(rad), sin(rad))

Await and Unity Style Coroutine

python 复制代码
func coroutine(on_update: Callable, duration: float = 1):
	var elapse_time = 0
	while elapse_time < 1:
		elapse_time += get_process_delta_time() / duration
		on_update.call(elapse_time)
		await get_tree().process_frame # 等待下一帧

# normal call - 后续逻辑会在 while loop 执行一次后立刻执行
coroutine(func(): print("do coroutine"))
# test debug
start
do coroutine
end
do coroutine
do coroutine
...
# await call - 后续逻辑会等到 coroutine 执行完成之后才会执行
await coroutine(func(): print("do coroutine"))
# test debug
start
do coroutine
do coroutine
...
end
相关推荐
WinstonJQ19 小时前
AirSim无人机仿真入门(一):实现无人机的起飞与降落
python·机器人·游戏引擎·ue4·无人机
垂葛酒肝汤2 天前
Unity中的协程的原理
unity·游戏引擎
垂葛酒肝汤2 天前
Unity第一个项目
unity·游戏引擎
Sator12 天前
Unity的InputSystem常见问题和疑惑解答
java·unity·游戏引擎
郝学胜-神的一滴2 天前
QtOpenGL多线程渲染方案深度解析
c++·qt·unity·游戏引擎·godot·图形渲染·unreal engine
习惯就好zz2 天前
地图编辑部分教程总结
godot·camera·tilemap·2d·game·tileset
IMPYLH2 天前
Lua 的 Table 模块
开发语言·笔记·后端·junit·游戏引擎·lua
Howrun7773 天前
虚幻引擎_控制角色移动的三种方法
游戏引擎·虚幻
速冻鱼Kiel3 天前
GASP笔记01
笔记·ue5·游戏引擎·虚幻
孟无岐3 天前
【Laya】Animator2D 使用指南
typescript·游戏引擎·游戏程序·laya