Skip to content

做一个简易版《疯狂农场》 ​

单人、简易版的疯狂农场:先打通一条链路——种下去、等它长、搬去卖换分数。

我们要做什么 ​

一个简易版的《疯狂农场》。这类玩法的核心就一件事:种下去、等它长、收起来换钱。

这套教程只做这条主线上最要紧的部分,而且是单人的:先把一条链路从头到尾打通,再想别的。

走到地前点一下——种子破土升起,然后一点点长大。 长到头,地上结出一颗果实;抓起它跑到旁边的放置区,果实被收走,屏幕上飘出分数。 偶尔结出的是变异果实:带特效、分数三倍。

做完之后,它有什么 ​

能做具体是什么哪一课
种下去走到地前点一下,种子破土升起;点过一次就点不了第二次02
长起来计时器让它一点点变大,长到头结出一颗果实03
搬去卖果实能抓在手里带走;放进放置区换成分数03 / 05
看得见作物上方一条只属于自己的进度条;卖出时飘出分数04 / 05
反复种一块地能种很多次——用完是还原,不是销毁06
偶尔出惊喜结出带特效的变异果实,分数按倍率翻06
东西能复用预设、复制、配置表:做一次,用很多次03 / 06
往后能接着加天气、一整片田(可选练习);加人该改哪几处有清单07

一共 7 课 ​

前 5 课把一条链路打通,后 2 课打磨收尾。

阶段课做出什么做完能干什么
一 · 一条链路01–05一块地、种下、长大结果实、进度条、搬进放置区换分"种 → 长 → 搬 → 卖"整条通了
二 · 打磨与收尾06–07田地能反复种、偶尔出变异果实;再做两个可选练习跑得通,也改得动

只做单人:判定都写在服务端,以后想加人不用推倒重来(要改哪几处,第 07 课有清单)。

你会学到什么 ​

  • 看场景:东西挂在 World 下才算"在场景里";能力靠在物件上挂子组件
  • 写事件:组件的自定义事件(比如「种植」),以及服务端和客户端之间的 RemoteEvent
  • 控节奏:用计时器做"到点做事"和"分步变化",也知道物件被销毁、玩家退出时它会怎样
  • 放数据:跟物件的进属性(持有者、变异),跟人的进玩家属性(score);算不算数都由服务端定
  • 摆界面:属于物件的挂场景 UI,属于玩家的挂屏幕 UI;该通知谁就通知谁
  • 省力气:预设、Clone、配置表——做一次,用很多次
  • 收尾:用过的状态能还原,工程能拆成模块

常用词(全课程统一) ​

词代码里意思
预设 / 实例预设列表 / 场景里那一份预设是原材料,取出来的是实例;改一个不影响另一个
种子地块下的 种子从"破土升起"到"长大"都是它在变
果实用预设创建出来的物件有物理、能抓;搬进放置区换分
持有者果实属性 持有者最后拿起它的人——分算在他头上
变异果实属性 变异带特效的特殊果实,分数按倍率翻
分数玩家属性 score跟人走:记在玩家身上,退出再进还在
标签TagService贴在物件上的记号(比如 果实);改名、换父节点都不影响
场景 UI / 屏幕 UICreateSceneUIByPrefabKeyAttachUnit / GetRootNode()挂在物件身上的界面 / 挂在玩家屏幕上的界面
物件脚本挂在预设上的服务器脚本逻辑跟着这个物件走;不在工程文件树里,要用属性面板打开

开始之前 ​

  • 装编辑器 + VS Code。地图不用提前做,第 01 课从"新建地图"开始。
  • 第 02 课配一次工程:生成工程、用 VS Code 打开、看日志窗口。配这一次,后面每课都省事。
  • 改坏了不怕:每课末尾都有"恢复兜底",用完整工程包覆盖同名目录就能回到基准。
  • 边做边试:每课都有"运行并核对",写了该看到什么。现象不对,先照那张排查表对一遍,再往下走。

从第 01 课开始。