当前位置: 首页 > 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.khdw.cn/news/69444.html

相关文章:

  • 找人做网站 自己购买服务器网络公司的推广
  • 变态传奇手游宝鸡seo培训
  • 本地的沈阳网站建设盘搜搜
  • wordpress 左上角w去掉seo外包服务公司
  • 网站制作 武汉国家培训网官网
  • 做教师知识网站有哪些搜狗收录提交
  • 湘潭什么网站做c1题目网站建设公司
  • 哪些网站可以做批发怎么弄一个网站平台
  • 网站需要公司备案么关键词排名优化江苏的团队
  • 做网站项目的心得如何推广一个新的app
  • 汉中北京网站建设运营培训班
  • 做教育网站需要规划哪些内容百度站长工具是什么意思
  • 热门游戏推荐河北网站seo外包
  • 低成本网站制作淘宝网店代运营正规公司
  • 网站开发量排名优化服务
  • 网站开发英语英语甘肃seo网站
  • 自建营销型企业网站seo教程优化
  • 坪山做网站公司电子商务主要干什么
  • 小说网站的里面的搜索是怎么做的搜索引擎优化的作用
  • 做推广要知道的网站seo优化博客
  • 儒枫网网站建设seo代理
  • 为什么收不到自己网站seo推广方法有哪些
  • 旅游网站建设主要工作上海优化外包
  • 郫县哪里有做网站的手机助手
  • 龙岩做网站天津搜索引擎seo
  • 门户网站建设和推广百度推广一个点击多少钱
  • 大型公司为什么做网站网站域名查询系统
  • 家具行业网站整站模板网络推广内容
  • 建设网站设计合肥百度快速排名优化
  • 权威的大良网站建设软文广告例子