Slynyrd像素画横版飞行射击游戏教程
文本概览:全文约 2,122 字,阅读约 6 分钟。
横版射击的像素资产要从玩法反推——动画、命中框、循环背景都先服务手感与可读性,而不是写实飞行。
一、先看整局气质
WW2 飞机 + 自然地貌:竖版太空/现代军事之后,横版换主题,规则不变——先能玩,再好看。
街机式 shmup 的硬核定义很窄:自动卷轴、八向直控、边躲弹边开火。横版还是竖版,主要改的是弹幕来向与读图习惯——资产尺寸、动画取舍、命中框松紧都得跟着变。
二、玩家机:先定 48×32,再谈姿态
约 48×32:细节够认、体量仍省。原型偏 P-51 Mustang。
玩家机定调整个世界:分辨率、敌机比例、背景疏密都跟着它走。真实飞行里高度靠俯仰、横向靠滚转;横版射击里却常见“上下移动画滚转”——机头始终朝前,火力方向稳定,集群(cluster)也不容易被旋转撕碎。
五档姿态:平飞中性一帧,上/下各两档滚转,再加常转螺旋桨。演示动画可以加惯性好看;进真实操作别加惯性——反应向的品类里,惯性等于给关卡设计挖坑。轻点上下:浅滚一下就回平;按住:浅滚闪过再进满滚,松手再经浅滚回中性。上下哪边滚哪边是审美选择,作者按手感定了一套即可。
三、Options:多一圈存在感
子机/吊舱不只加火力,还帮你在弹幕里“摸到”自己的机位。
横版里眼睛大半时间在读弹道,真正盯机身的时间很短。Options、己方弹迹,往往比机身本体更能撑起屏幕存在感——躲弹时靠周边轮廓定位,比只靠一只小飞机稳。
四、敌机:模板 → 上色 → 光影 → 描边
上到下:Ju-88、Ju-87、Hummel。先参考,再少色堵形,再细修,最后描边。
友军是 Mustang,敌军用容克系外形更“压人”:块面硬、配色闷、轮廓狠。动画要省工:螺旋桨可直接换色板复用玩家机;上下窜得勤的空单位值得加俯仰/滚转,直线掠过的就别每架都做满多姿态。地面单位几帧履带、轮子闪动或轻晃,往往就够活。
五、背景:横向循环 + 六层视差
技法承接 Pixelblog 62;这次每层要能横向无缝接,才能一直往右卷。
层越长,循环越不显眼,也越费工。山形变化大,值得做宽;树林纹理重复度高,短一点也过得去。教程里统一240px 宽,方便像素级滚动演示。引擎若有摄像机,不必死磕 GIF 式逐帧位移,但“分层、可循环、少单调”仍成立。
帧间隔约 50ms(≈20fps,GIF 省工);实机建议 ≥60fps,且每步位移量恒定:
- 草 — 4 px/帧
- 树 1 — 3
- 树 2 — 2
- 山 + 云 1 — 1
- 云 2 — 0.5
- 天空 — 0
山先画,再往外叠层。Photoshop 做循环更顺手;Aseprite 补间脚本曾难保证各层步进一致。
六、命中框:玩家要小,子弹要对症
玩家受击:精灵中心小圆,全动画帧位置锁定。己方弹与敌机:偏大方,瞄准才“咬得住”。敌弹:中心小圆,配合小玩家框,才能在密弹里挤缝。
弹幕越密,玩家受击框越该小;弹稀则可略放大,并用更快敌弹保难度。别让受击框超出精灵实体像素——那不叫硬核,叫不公平。拾取另开更大采集框,和伤害框分开。
七、拼成一屏:470×240,再压背景对比
原生 470×240,4× 到 1920×1080:整倍缩放,像素不糊。240 宽背景铺两遍刚好盖住宽度。
16:9 很适合横版铺满显示器,但对许多 2D 街机手感偏“太空旷”:敌人还没靠近就被清光,躲弹也太从容。物体速度、入场点、血量都要按宽屏重调。飞机相对画面既不能大到挡视线,也不能小到找不着。一两屏长度后,加地标或地貌变化,打断循环感。
上下飞时可带一点纵向卷轴,露出更多背景——关卡路由多一层思考,画面也更像“大关卡”。拼完若机弹不跳:先有描边和亮色子弹;再把近景草以外的层降饱和、降对比、略提亮。近景保留对比,远景让位弹道可读性。
参考资料
Pixelblog - 63 - Horizontal Shmup: https://www.slynyrd.com/blog/2026/7/26/pixelblog-63-horizontal-shmup

