App Inventor 2 台球游戏制作教程
本文手把手教你用 App Inventor 2 制作一个完整的弹球游戏,涵盖画布、球、碰撞检测、得分系统。
一、核心组件介绍
1.1 画布(Canvas)
画布是游戏的”舞台”,所有游戏元素都在画布上运动。| 关键属性 | 说明 |
|---|---|
| 宽度/高度 | 游戏区域大小 |
| 背景颜色 | 游戏背景 |
| 背景图片 | 可设置台球桌图片 |
| 关键事件 | 说明 |
|---|---|
| 被触摸时(Touched) | 手指点击画布 |
| 被拖动时(Dragged) | 手指在画布上滑动 |
1.2 球(Ball)
球是画布上的圆形精灵,台球游戏的主角。| 关键属性 | 说明 | 推荐值 |
|---|---|---|
| 半径(Radius) | 球的大小 | 20 |
| 速度(Speed) | 每次移动的像素数 | 5~15 |
| 方向(Heading) | 运动方向(角度) | 45 |
| 间隔(Interval) | 多少毫秒移动一次 | 30 |
| 颜色(PaintColor) | 球的颜色 | 红/白/黄 |
| 启用(Enabled) | 是否运动 | 真 |
| 关键事件 | 说明 |
|---|---|
| 到达边缘时(EdgeReached) | 球碰到画布边界 |
| 碰撞时(CollidedWith) | 球与其他精灵碰撞 |
| 被拖动时(Dragged) | 手指拖动球 |
| 关键方法 | 说明 |
|---|---|
| 反弹(Bounce) | 碰到边界后反弹 |
| 移动到(MoveTo) | 移动到指定坐标 |
1.3 图像精灵(ImageSprite)
可以用图片作为外观的精灵,用于制作球杆、球洞等。二、最简单的弹球游戏(5分钟上手)
界面设计
- 拖入画布,设置宽度”充满”,高度400像素
- 在画布内拖入球,设置半径20,颜色红色
- 拖入标签,显示得分
- 拖入按钮,开始/暂停游戏
代码块
三、进阶:多球台球游戏
3.1 设计思路
台球游戏的核心:- 母球(白球):玩家控制,用手指拖动或点击发射
- 目标球(彩球):被母球击中后运动
- 球洞:球进洞得分,球消失
3.2 母球控制(拖动发射)
3.3 球与球碰撞
3.4 球进洞检测
球洞用图像精灵表示,检测球是否进洞:四、摩擦力模拟(让球自然停下)
真实台球会因摩擦力逐渐减速停下:五、完整游戏结构
六、常见问题
Q1:球速度越来越快怎么办?
每次碰撞后速度应该减少,不要直接赋值新速度,而是乘以系数:Q2:球穿过边界怎么办?
- 确保在
到达边缘时事件中调用反弹(边缘) - 球速不要太快(建议不超过20像素/帧)
Q3:碰撞检测不准确?
App Inventor 2 的碰撞检测基于矩形包围盒,对旋转的图像精灵不准确。球(Ball)组件的碰撞检测相对准确。Q4:如何让球图案更好看?
- 使用**图像精灵(ImageSprite)**代替球(Ball),可以设置台球图片
- 准备1-15号台球图片,分别设置给不同精灵
七、参考资料
文档版本:2026.03 | 作者:App Inventor 2 中文网 www.fun123.cn
参考资料与版权声明
原文来源
- MIT App Inventor 官方文档 - MIT App Inventor
- MIT App Inventor Community - MIT App Inventor Community
- MIT App Inventor GitHub - MIT CML
版权声明
本文档基于 MIT App Inventor 官方文档及社区资源整理,版权归原作者所有:- MIT App Inventor 官方文档采用 CC BY-SA 4.0 授权
- MIT App Inventor Community 帖子版权归原作者所有
