想象一下,如果我们要管理100个球,难道要创建100个变量吗?ball1X, ball1Y, ball2X, ball2Y... 这样太复杂了!这里就要用到数组这个强大的工具。数组就像一个储物柜,可以存放很多个相似的东西,而循环则是高效处理数组中每个元素的方法。
还记得基础课程中学的数组吗?
现在我们要把数组的概念应用到球的图形世界中!
每个球不再是简单的位置变量,而是一个包含所有属性的对象:
当我们有很多球对象时,如何确保每个球都有相同的属性?如何避免写错属性名?TypeScript的类型定义就是我们的解决方案!
想象一下,如果没有统一的"球"的模板:
使用type关键字定义一个球的"模板":
类型就像是球的"产品说明书":
还记得基础课程中的变量类型吗?
现在我们在升级!:
就像从搭积木块到搭建完整的汽车模型!
现在我们有了Ball类型,让我们学习如何用函数来操作球对象。这是游戏中非常重要的概念!
还记得基础课程中的函数参数吗?现在我们要学习一个重要的概念:
引用传递 vs 值传递:
生活中的例子:
现在我们学会了:
让我们回到之前的球群渲染例子:
创建不同颜色的球阵列:
动态改变球的数量:
所有球同时做相同动画:
球之间的简单互动:
点击画布添加新球到数组:
根据属性对球进行分类管理:
完整的球对象管理系统:
使用高级数组方法管理球的属性:
balls.push(newBall)balls.splice(index, 1)for (let i = 0; i < balls.length; i++)balls.length太棒了!你已经学会了管理球的世界!你掌握了:
下一课我们将学习:
准备好让你的代码变得更加优雅和高效了吗?