当前位置: 首页 > news >正文

广州企业建站公司磁力猫最佳搜索引擎入口

广州企业建站公司,磁力猫最佳搜索引擎入口,做的网站没流量吗,怎样做网站的二维码记录工作实践 这是全新的系列,一直有个游戏制作梦 感谢AI时代,让这一切变得可行 长欢迎共同见证,期更新,欢迎保持关注,待到游戏上架那一天,一起玩 面向AI编程的godot独立游戏制作流程实录001 本期是第…
  • 记录工作实践

  • 这是全新的系列,一直有个游戏制作梦

  • 感谢AI时代,让这一切变得可行

  • 长欢迎共同见证,期更新,欢迎保持关注,待到游戏上架那一天,一起玩

面向AI编程的godot独立游戏制作流程实录001

本期是第一篇 统领总纲

首先搞清楚大象长什么样子,也就是游戏是怎么跑起来的。

游戏开发的本质

一、指挥中心与部门

游戏是一个指挥中心(主循环),带着一群部门(功能模块)协同工作。

  • 指挥中心(主循环):负责每秒发出指令,协调所有部门。
  • 核心部门(核心模块):比如“玩家部门”“资源部门”“UI部门”,各自有自己的任务。
  • 子部门(拓展功能):比如“建造小组”挂在“资源部门”下。

这个比喻的好处是:

  • 强调协调性:指挥中心不自己干活,而是通过指令让各部门动起来。
  • 突出通讯:部门之间通过“报告”和“请求”交流。

二、主循环如何与其他部分通讯?

你提到“主循环通过API调用各个核心模块”,这个理解方向是对的!让我们拆解一下实际的运作方式。

  1. 主循环的角色
    主循环是游戏引擎(比如Godot)内置的“心脏”,它每帧(约1/60秒)运行一次,负责:
  • 检查输入(玩家按键)。
  • 更新状态(计算位置、资源)。
  • 渲染画面。

在Godot中,主循环由引擎管理,你通过特定的函数“插入”你的代码,比如:

  • _ready():游戏启动时运行一次。
  • _process(delta):每帧运行,更新逻辑。
  • _input(event):处理输入事件。
  1. 通讯的方式
    主循环并不直接“写信”给每个模块,而是通过节点树(Node Tree)和函数调用来通讯。Godot的节点系统就像一个组织架构图:
  • 主节点(指挥中心)是根节点。
  • 子节点(部门)挂在主节点下。

通讯机制:

  • 直接调用:主节点可以调用子节点的函数。
  • 信号(Signal):子节点可以向上“报告”事件。
  • 共享数据:通过变量在节点间传递信息。
  1. API和SDK的类比
  • API(应用程序接口):你可以把Godot的内置函数(比如move_and_slide())看作API。它们是主循环提供给你的“工具”,让你能指挥模块做事。

  • SDK(软件开发包):Godot整个引擎就是一个SDK,包含工具、函数、编辑器,帮助你开发游戏。

在你的游戏中,主循环通过这些“接口”调用核心模块,而不是手动写通讯代码。


三、实际代码中的通讯

让我们用一个简单例子,看看主循环如何与模块互动。
示例场景:采集游戏

  • 主节点:Main.tscn,负责协调。
  • 核心模块1:Player.tscn,控制玩家移动。
  • 核心模块2:ResourceManager.tscn,管理资源。
  • UI模块:UI.tscn,显示资源。
  1. 主脚本(指挥中心)
extends Node2Dvar resources = {"wood": 0} # 共享数据onready var player = $Player # 子节点:玩家部门
onready var resource_manager = $ResourceManager # 子节点:资源部门
onready var ui = $UI # 子节点:UI部门func _ready():print("指挥中心启动!")func _process(delta):player.update(delta) # 告诉玩家部门更新ui.update(resources) # 告诉UI部门显示最新数据func _input(event):if event.is_action_pressed("ui_select"):resource_manager.collect("wood", 1) # 通知资源部门加木材
  1. 玩家模块(Player.gd)
extends KinematicBody2Dvar speed = 100
func update(delta):var velocity = Vector2.ZEROif Input.is_action_pressed("ui_right"):velocity.x += 1move_and_slide(velocity * speed) # 使用Godot的API移动
  1. 资源模块(ResourceManager.gd)
extends Nodefunc collect(resource_type, amount):get_parent().resources[resource_type] += amount # 更新主节点的共享数据print("采集了", amount, resource_type)
  1. UI模块(UI.gd)
extends Controlfunc update(resources):$Label.text = "木材: " + str(resources["wood"]) # 读取共享数据并显示

四、实际运作过程
  1. 主循环启动:
  • Godot每帧调用Main.gd的_process(delta)。
  1. 通讯发生:
  • player.update(delta)让玩家移动。
  • 玩家点击鼠标,_input调用resource_manager.collect()加木材。
  • ui.update(resources)刷新屏幕上的木材数量。
  1. 结果:
  • 玩家感觉移动、采集、显示是“同时”发生的,因为主循环每秒跑60次。

文件关系

  • 有多个文件(Main.gd、Player.gd、ResourceManager.gd、UI.gd)。
  • 主循环通过节点引用($Player)或函数调用(collect())联系它们。
  • 不需要手动写“API”,Godot的节点系统已经提供了通讯框架。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

http://www.yayakq.cn/news/524847/

相关文章:

  • 潍坊网站建设(首选聚搜网络)用静态网站更新
  • 找人做网站 网站定制开发网站建设的重要性意义
  • 宜昌本地网站网站宣传推广的目的
  • 知名网站欣赏连云港网站设计
  • 网站在线建设宿迁市住房和城乡建设局
  • php做简单网站例子汕头市区
  • 网络网站推广ps做网站首页设计教程
  • 为什么电脑打开那个做网站都是那一个网站建设属于IT吗
  • 中国企业排名前十名大同网站建设优化推广
  • 郓城网站建设价格提供常州网站建设公司
  • 百度一下你就知道了 官网网站优化培训
  • 国外常用的网站开发系统洪山网页设计
  • 丰涵网站建设潍坊网站网站建设
  • 网页美工设计中使用的主要软件是网站如何做seo排名
  • 中国空间站天和核心舱查外链网站
  • 有口碑的唐山网站建设有关网站开发的文献
  • 自己的主机做服务器网站如何备案php 网站开发收费
  • 网站建设需要服务器吗清河做网站报价
  • 贴吧做网站公众号制作开发公司
  • 承德市建设工程交易中心网站全球搜索引擎市场份额
  • 枣庄学习建设网站培训硬件开发
  • 顺的网站建设策划正规网站建设制作
  • 好网站开发谷歌seo外贸推广
  • 微网站 留言板长沙最新招聘
  • 兰州网站制作成都千库网会员
  • 网站登录系统源码软件开发流程系统分析
  • 制作短链接网站如何设计一个网页首页简易图片
  • 威海网站定制厨师培训机构
  • 网站的建设思路网络推广软件费用情况
  • 网站怎么做根目录如何利用模板建站