← 编程学习中心
📖

Preparation

8 个课程
1
如何学习编程
2
计算机基础
3
键盘初识与基准键位
4
字母与数字基础
5
Shift键魔法
6
编程符号专精
7
功能键与修饰键
8
键盘学习总结与进阶
📚

Basics

22 个课程
1
什么是编程?
2
Hello World - 你的第一个程序
3
变量基础概念 - 给信息贴标签
4
变量赋值和操作 - 变量的高级用法
5
数据类型基础 - 数字和字符串
6
基础运算符 - 数字运算王国
7
布尔类型与比较运算符 - 程序的判断基础
8
条件判断基础 - 让程序学会做决定
9
变量作用域 - 变量的生存范围
10
条件语句进阶 - 复杂判断与嵌套结构
11
逻辑运算符 - 简化复杂条件判断
12
循环语句 - 程序的重复机器
13
循环进阶 - break、continue与循环控制
14
嵌套循环与作用域
15
循环调试实战技巧
16
循环不变量 - 理解循环的数学规律
17
数组基础 - 数据的收纳盒
18
数组操作方法 - 添加、删除和管理
19
数组高级 - 探索数组的强大功能
20
引用概念 - 变量的不同行为
21
函数基础 - 解决重复代码的秘密武器
22
函数实践与应用 - 巩固基础,实战应用
🚀

Intermediate

11 个课程
1
从控制台到画布 - p5.js初体验
2
图形绘制工具箱 - 基础图形函数
3
让世界多彩 - 颜色系统详解
4
文字的艺术 - 文本绘制与样式
5
球体动起来 - 动画基础入门
6
球体的交互魔法 - 鼠标与条件判断
7
面向对象编程 - Class类与实例
8
球的家族 - 循环与数组应用
9
球的个性 - 函数封装与参数化
10
球的变身 - 形状模式与高级绘制
11
球的世界 - 综合创作项目
🎯

Advanced

6 个课程
1
对象类型
2
对象类型应用
3
自定义类型
4
函数进阶 - 箭头函数与高级编程技巧
5
内置方法 - 字符串与数组的魔法工具
6
Switch语句与字符串模板 - 更优雅的代码表达
← 编程学习中心
📖

Preparation

8 个课程
1
如何学习编程
2
计算机基础
3
键盘初识与基准键位
4
字母与数字基础
5
Shift键魔法
6
编程符号专精
7
功能键与修饰键
8
键盘学习总结与进阶
📚

Basics

22 个课程
1
什么是编程?
2
Hello World - 你的第一个程序
3
变量基础概念 - 给信息贴标签
4
变量赋值和操作 - 变量的高级用法
5
数据类型基础 - 数字和字符串
6
基础运算符 - 数字运算王国
7
布尔类型与比较运算符 - 程序的判断基础
8
条件判断基础 - 让程序学会做决定
9
变量作用域 - 变量的生存范围
10
条件语句进阶 - 复杂判断与嵌套结构
11
逻辑运算符 - 简化复杂条件判断
12
循环语句 - 程序的重复机器
13
循环进阶 - break、continue与循环控制
14
嵌套循环与作用域
15
循环调试实战技巧
16
循环不变量 - 理解循环的数学规律
17
数组基础 - 数据的收纳盒
18
数组操作方法 - 添加、删除和管理
19
数组高级 - 探索数组的强大功能
20
引用概念 - 变量的不同行为
21
函数基础 - 解决重复代码的秘密武器
22
函数实践与应用 - 巩固基础,实战应用
🚀

Intermediate

11 个课程
1
从控制台到画布 - p5.js初体验
2
图形绘制工具箱 - 基础图形函数
3
让世界多彩 - 颜色系统详解
4
文字的艺术 - 文本绘制与样式
5
球体动起来 - 动画基础入门
6
球体的交互魔法 - 鼠标与条件判断
7
面向对象编程 - Class类与实例
8
球的家族 - 循环与数组应用
9
球的个性 - 函数封装与参数化
10
球的变身 - 形状模式与高级绘制
11
球的世界 - 综合创作项目
🎯

Advanced

6 个课程
1
对象类型
2
对象类型应用
3
自定义类型
4
函数进阶 - 箭头函数与高级编程技巧
5
内置方法 - 字符串与数组的魔法工具
6
Switch语句与字符串模板 - 更优雅的代码表达

球的个性 - 函数封装与参数化

概念介绍

想象一下,如果我们想要绘制很多不同类型的球(弹跳球、漂浮球、变色球等),难道每次都要重复写类似的代码吗?当然不!函数封装就是将重复的功能打包成可重用的函数,而参数化则让这些函数能够适应不同的需求。这是从"能写代码"到"会写好代码"的重要转变!

学习目标

  • 掌握绘制函数封装:创建绘制球的函数
  • 学会参数化球:用函数参数控制球的外观和行为
  • 理解函数组合:多个函数组合创建复杂效果
  • 学习代码重用:减少重复代码,提高效率
  • 培养模块化思维:将复杂功能分解为简单函数

🔧 函数封装基础

什么是函数封装?

函数封装就是把相关的代码打包成一个函数,这样我们可以:

  1. 重复使用:一次编写,多次调用
  2. 参数控制:通过参数改变函数行为
  3. 简化代码:主程序变得更简洁
  4. 易于维护:修改功能只需改一个地方
加载代码编辑器...

🔄 与基础课程的连接

还记得基础课程中的函数概念吗?

  • 基础课程:function add(a, b) { return a + b; }
  • 进阶应用:function drawBall(x, y, size, color) { /* 绘制代码 */ }

相同的函数概念,但现在应用到图形绘制中!


🎯 参数化设计

基础参数化球函数

加载代码编辑器...

带默认值的参数化

加载代码编辑器...

💻 实践练习

练习1:球的绘制函数 🎨

创建基础的球绘制函数:

加载代码编辑器...

练习2:参数化球 🔧

用参数控制球的外观:

加载代码编辑器...

练习3:交互球函数 🖱️

封装球的交互逻辑:

加载代码编辑器...

练习4:动画球函数 ⚡

封装球的动画逻辑:

加载代码编辑器...

练习5:球类型函数 🎭

创建不同类型的球函数:

加载代码编辑器...

练习6:场景生成函数 🌍

用函数生成球场景:

加载代码编辑器...

练习7:球管理器函数 🗂️

创建球管理器函数:

加载代码编辑器...

练习8:创意球系统组合 🎨

组合多个函数创建独特效果:

加载代码编辑器...

🎯 本课重点总结

核心概念

  • ✅ 函数封装:将重复代码打包成可重用函数
  • ✅ 参数化设计:用参数控制函数行为和外观
  • ✅ 模块化思维:将复杂功能分解为简单函数
  • ✅ 代码重用:减少重复,提高效率

函数设计原则

  • ✅ 单一职责:每个函数只做一件事
  • ✅ 参数控制:通过参数实现灵活性
  • ✅ 可重用性:一次编写,多次使用
  • ✅ 易于维护:修改功能只需改一个地方

高级应用

  • ✅ 函数组合:多个函数组合创建复杂效果
  • ✅ 状态管理:用函数管理复杂状态
  • ✅ 场景生成:用函数生成整个场景
  • ✅ 系统架构:构建可扩展的函数系统

与基础课程的连接

  • ✅ 函数基础:从简单函数到复杂函数设计
  • ✅ 参数传递:从基础参数到对象参数
  • ✅ 返回值:函数输出在图形中的应用

🚀 下一步

太棒了!你已经学会了函数的艺术!你掌握了:

  • 🔧 函数封装:创建可重用的球绘制函数
  • 🎯 参数化设计:用函数参数控制球的外观
  • 🏗️ 模块化思维:将复杂功能分解为简单函数
  • 💡 代码重用:减少重复,提高效率

下一课我们将学习:

  • 📐 形状模式:ellipseMode(), rectMode()等绘制模式
  • 🎯 坐标系统:CENTER, CORNER, RADIUS等模式
  • 🔄 模式切换:组合不同模式创建复杂效果
  • 📏 精确控制:用模式精确定位图形

准备好让你的绘制技术更加专业和精确了吗?

p5.js官方参考

  • Learn: Functions
  • Reference: push()
  • Reference: pop()
  • Reference: colorMode()
  • Reference: map()
  • Reference: lerp()
Previous lesson
Previous
球的家族 - 循环与数组应用
Next
球的变身 - 形状模式与高级绘制
Next lesson