移动精灵
精灵就是矩形:x、y、速度、循环。整个游戏就住在这四个词里。
42 秒 · 含中文字幕 · 8.4 Mo
你会学会的 7 件事
第 7 课:移动精灵
Regarde la leçon (42 s) : tout jeu vidéo se résume à faire bouger les coordonnées d'un rectangle. Spoiler : c'est fait.
位置,两个数字
Pose la position de départ : `x = 10` et `y = 20`. Ton sprite n'existe pas encore — il est juste quelque part.
移动就是加法
Écris `avancer(x, vitesse)` qui renvoie la nouvelle position en x. Flèche droite = vitesse positive, flèche gauche = négative.
两个轴
Écris `deplace(x, y, dx, dy)` qui renvoie la nouvelle position sous forme de tableau `[nouveau_x, nouveau_y]` — les deux axes en une seule passe.
每秒六十次
Écris `anime(x, tours, vitesse)` : à chaque tour, on avance de `vitesse`. Après 60 tours à vitesse 1 depuis 0, x vaut 60 — sans écrire 60 lignes.
按键选符号
Écris `touche(fleche, x, vitesse)` : "droite" → x + vitesse · "gauche" → x − vitesse · toute autre touche → x inchangé. Ta touche ne pousse rien, elle choisit un signe.
第 7 课:OK
Sans aide : `bouge(x, dx, largeur = 100)` — avance de dx, mais reste DANS l'écran : la position finale reste toujours entre 0 et `largeur` inclus.
📄 备忘单
打印出来贴显示器上,就当是你自己的主意📄 备忘单 — 移动精灵(x, y 在空间里)
精灵就是矩形。移动就是对两个数字做算术。好了——你已经是 game dev 了。
行业里的四个词
| 词 | 它是什么 | 例子 |
|---|---|---|
| 位置 | 它在哪,两个数字 | x = 10, y = 20 |
| 速度 | 它动多少 | vitesse = 5 |
| 增量 | 这一帧的变化 | dx = vitesse |
| 循环 | 再来一遍,60 次/秒 | regarde → déplace → redessine |
移动 = 加法
x = 10
x += 5 # 右 (x = 15)
x -= 5 # 左 (x = 10)
def avancer(x, vitesse)
x + vitesse # 【负】速度就是往左——就这么简单
end
两个轴,一遍过
def deplace(x, y, dx, dy)
[x + dx, y + dy] # 斜线 = 两个都动
end
deplace(0, 0, 3, 4) # => [3, 4]
屏幕备忘: x → 左/右(手柄上经常是反的 😉),y → 上/下。
屏幕顶端,y 变小:原点 (0,0) 在左上角,多数引擎都这样。
驱动整个游戏的循环
def anime(x, tours, vitesse)
tours.times { x += vitesse } # 60 帧 = 一秒游戏
x
end
anime(0, 60, 1) # => 60
游戏不是在动:它在重复。 你玩的时候,唯一发生的就是这个。
按键选择符号
case fleche
when "droite" then x + vitesse
when "gauche" then x - vitesse
else x # 不认识的键:什么都不动
end
按键什么也不推:它选的是 + 还是 −。
屏幕边缘的坑
(x + dx).clamp(0, largeur) # 不低于 0,不超过宽度
没有 clamp,你的矩形就去虚空旅游了——玩家会让你买单。
以后别再说
「精灵在前进」→ 是你的坐标在前进,矩形还是那个矩形「游戏引擎」→ 移动一个方块不需要引擎。只需要一个+。
SlopCourse — 从 slop 到干净的代码。