如何使用 Sprite - Byte Array Assembly x86
How to work with Sprite - Byte Array Assembly x86
最近几天在做项目的时候,认识了精灵——字节数组。
不幸的是,我没有找到任何关于 sprite 的信息,这些信息可以告诉我这是什么以及它是如何工作的。
如果你能给我一些精灵的信息和例子,我真的很高兴。
精灵基本上是具有透明背景颜色或 alpha 通道的图像,可以在屏幕上定位和移动(通常涉及在旧位置上重绘背景)。在动画精灵的情况下,精灵可能由构成动画帧的几个实际图像组成。图像的格式完全取决于用于绘制或渲染它的硬件 and/or 技术。对于速度,维度通常是 2 的幂(8、16、32、64 等),但这对于现代硬件来说可能不是必需的。
传统上(阅读:回到我的时代),你可能有一个 320x200x256 的屏幕分辨率和一个 16x16x256 的精灵,颜色 0 是透明的。每次刷新屏幕都会从重绘精灵下的背景开始,在新位置下复制背景,然后仅重绘新位置上每个精灵的可见颜色。
然而,对于现代硬件,以驱动程序可以处理的格式(希望在图形加速器中)传递数据比手动完成所有事情更有效。
最近几天在做项目的时候,认识了精灵——字节数组。
不幸的是,我没有找到任何关于 sprite 的信息,这些信息可以告诉我这是什么以及它是如何工作的。
如果你能给我一些精灵的信息和例子,我真的很高兴。
精灵基本上是具有透明背景颜色或 alpha 通道的图像,可以在屏幕上定位和移动(通常涉及在旧位置上重绘背景)。在动画精灵的情况下,精灵可能由构成动画帧的几个实际图像组成。图像的格式完全取决于用于绘制或渲染它的硬件 and/or 技术。对于速度,维度通常是 2 的幂(8、16、32、64 等),但这对于现代硬件来说可能不是必需的。
传统上(阅读:回到我的时代),你可能有一个 320x200x256 的屏幕分辨率和一个 16x16x256 的精灵,颜色 0 是透明的。每次刷新屏幕都会从重绘精灵下的背景开始,在新位置下复制背景,然后仅重绘新位置上每个精灵的可见颜色。
然而,对于现代硬件,以驱动程序可以处理的格式(希望在图形加速器中)传递数据比手动完成所有事情更有效。