《Mr. Nom 游戏开发:从模型到屏幕的实现》
1. 蛇类方法详解
在游戏中,蛇的移动和状态检测是核心功能。蛇类中有几个关键方法,首先是 advance() 方法,其逻辑如下:
// 移动蛇的身体部分到前一个部分的位置
for (int i = parts.size() - 1; i > 0; i--) {
SnakePart part = parts.get(i);
SnakePart before = parts.get(i - 1);
part.x = before.x;
part.y = before.y;
}
// 根据当前方向移动蛇头
if (direction == UP)
head.y -= 1;
if (direction == LEFT)
head.x -= 1;
if (direction == DOWN)
head.y += 1;
if (direction == RIGHT)
head.x += 1;
// 边界检查,确保蛇不会超出世界范围
if (head.x < 0)
head.x = 9;
if (head.x > 9)
head.x = 0;
if (head.y < 0)
head.y = 12;
if (head.y > 12)
head.y = 0;
这个方法先将蛇的每个部分移动到前一个部分的位置(不包括蛇头),然后根据当前方向移动蛇头,最后进行边界检查,若蛇头超出边界,将其移动到世界的另一侧。
<
超级会员免费看
订阅专栏 解锁全文
25

被折叠的 条评论
为什么被折叠?



