首页/ 第 5 章 · C# 编程基础/ 第 47 课
LESSON 47 · C# 编程基础

创建第一个 C# 脚本

你已能创建、编写、运行脚本!这是从“搭积木”到“写程序”的飞跃。下一课学变量。

⏱ 约 15 分钟📊 难度:入门🗂 第 5 章 · C# 编程基础📍 第 47 / 300 课
课程进度
47 / 300

🎯本节学习目标

  • 创建并命名 C# 脚本
  • 理解脚本基本结构
  • 把脚本挂到对象上并运行

🚀课程导读

动手写人生第一行游戏代码!本课完整走一遍“建脚本→写代码→挂载→运行”。

创建脚本

在项目里新建 C# 脚本。

  1. 在 Project 的 Scripts 文件夹右键 →【创建 Create】→【C# 脚本 C# Script】。
  2. 生成一个名为“NewBehaviourScript”的文件(默认名),立即把它重命名为 MyFirstScript(记住:文件名 = 类名,且不能中文)。
  3. 双击脚本,在 Visual Studio(或设置好的编辑器)中打开。
  4. 系统自动生成了骨架代码。
  5. 把默认生成的 Start 和 Update 方法保留,我们稍后修改。
  6. 保存文件(Ctrl+S)。
💡
创建后马上改名!若等写好代码再改,类名也要同步改,容易出错。

认识脚本结构

逐行看懂骨架。

  1. 第一行【using System;】等:引入“命名空间”,让我们能用一些现成的类(第 69 课讲)。
  2. 【public class MyFirstScript : MonoBehaviour】:声明一个名为 MyFirstScript 的类,继承 MonoBehaviour(这是 Unity 脚本的基类,提供 Start/Update 等生命周期方法)。
  3. 【void Start()】方法:对象第一次被激活、脚本启动时调用一次(第 71 课详讲生命周期)。
  4. 【void Update()】方法:每一帧都会被调用(游戏循环的核心,第 2 课概念)。
  5. 方法体用一对花括号 { } 包裹,里面的代码是“要执行的指令”。
  6. 每行指令以分号 ; 结尾。
  7. 代码区分大小写:Start 和 start 是两个不同的名字。
💡
骨架自动生成,不要删掉 Start/Update,我们往里面填内容。

写代码并运行

让游戏视图打印一行字。

  1. 在 Start 方法的花括号内,输入:Debug.Log("你好,Unity!");
  2. 【Debug.Log】是 Unity 的“打印函数”,把括号里的内容输出到 Console 控制台。
  3. 保存脚本(Ctrl+S)。
  4. 回到 Unity 编辑器,等待右下角“编译”完成(有进度条/菊花)。
  5. 创建一个空对象(Hierarchy 右键 → Create Empty),命名为 GameManager。
  6. 把 MyFirstScript 脚本从 Project 拖到 GameManager 上(或选中空对象→Inspector→Add Component→搜索 MyFirstScript)。
  7. 点播放 ▶。
  8. 打开 Console,看到“你好,Unity!”输出了!你的第一行代码运行成功。
  9. 点停止,再播放一次——Start 每次播放都会执行一次。
Debug.Log 是你最好的朋友,学习阶段所有确认都用它。
⚠️
脚本有红叉编译错误时无法挂载/运行,先看 Console 修复再运行。

常见错误与排查

错误:挂脚本后报错:The type or namespace name 找不到?
原因:类名与文件名不一致
解决:确保 public class 后的名字与 .cs 文件名完全相同。
错误:播放后 Console 没有任何输出?
原因:脚本没挂到任何对象,或脚本未保存
解决:确认对象 Inspector 里有该脚本组件;保存脚本;重新播放。

动手练习

课后小任务(做出来才算真的学会)

  • 创建脚本并打印自己的名字
  • 在 Update 里也打印一句话,观察它与 Start 的输出次数差异

本节小结

你已能创建、编写、运行脚本!这是从“搭积木”到“写程序”的飞跃。下一课学变量。

完成打卡后,主站会实时更新你的学习进度 🎯

← 上一课为什么需要编程?C# 语言入门