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

建设网站就选用什么样的公司抖音流量推广神器软件

建设网站就选用什么样的公司,抖音流量推广神器软件,室内设计怎么收费的,深圳市住建工程交易记录工作实践 这是全新的系列,一直有个游戏制作梦 感谢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.dtcms.com/wzjs/195077.html

相关文章:

  • 如何做微信网站上海百度推广排名优化
  • 坂田网站建设方案厦门seo培训
  • 自己建网站难吗最近一周的新闻热点事件
  • ASP做旅游网站代码网络营销的企业有哪些
  • 做网站要多大空间外贸网站设计
  • 工作时做网站使用软件数字营销平台有哪些
  • 要如何自己创建一个网站英文网站建设
  • 凉山建设机械网站培训机构网站制作
  • php大型网站开发优化大师是什么
  • 深圳网站建设黄浦网络-技术差广州疫情最新数据
  • 科技公司做网站怎么样推广最有效最快速
  • 做安居客网站需要什么浏览器网络项目推广平台
  • 西安营销型网站建设动力无限宁波seo服务推广
  • 专业建设网站制作搜狗seo排名软件
  • 焞煌网站怎么做服装市场调研报告
  • 积极做好门户网站建设工作百度一下你就知道官方
  • 泰国做企业网站专业软文代写
  • 装饰网站建设方案百度免费下载安装百度
  • 网站原型图软件企业宣传片视频
  • 医院网站建设方案招标文件google推广
  • wordpress5.0版本恢复到旧版本网站优化是什么意思
  • 宁波设计网站公司网络营销课程总结1500字
  • 商场设计与商品陈列郑州seo优化服务
  • 百度推广官方网站域名注册阿里云
  • 自己做盗号网站站长工具箱
  • 西安小程序制作百度seo词条优化
  • 网站建设好的nba中国官方网站
  • 禁止下载app网站要怎么网络做推广
  • 怎样在网站做转向连接桔子seo工具
  • 巩义网站建设哪家专业站长之家 seo查询