接著在 Form 上顯示角色動畫。需額外一個 Surface 存放角色素材圖(通常將所有動作框架做在單一 BMP 檔)。
dDsurfaceActor = dDraw.CreateSurfaceFromFile("c:\\actorMove.bmp", ref dDDesc2);
rect.Top = 0; rect.Left = 0;
rect.Bottom = dDDesc2.lHeight; rect.Right = 140; // 每個動作寬 140 像素
rectSec.Top += 60; rectSec.Left += 30;
rectSec.Bottom -= (rect.Bottom - rect.Top) / 2;
rectSec.Right -= (rect.Right - rect.Left) / 2;
dDsurface.Blt(ref rectSec, dDsurfaceActor, ref rect, DxVBLib.CONST_DDBLTFLAGS.DDBLT_WAIT);

僅顯示來源圖片指定區域。
原圖背景為黑色,Blt 會連同背景一起繪製。設定 ColorKey 屏蔽不需要的顏色範圍:
DxVBLib.DDCOLORKEY dDcolorKey = new DxVBLib.DDCOLORKEY();
dDcolorKey.high = 20; // 被屏蔽顏色上限
dDcolorKey.low = 0; // 被屏蔽顏色下限
dDsurfaceActor.SetColorKey(DxVBLib.CONST_DDCKEYFLAGS.DDCKEY_SRCBLT, ref dDcolorKey);
dDsurface.Blt(ref rectSec, dDsurfaceActor, ref rect,
DxVBLib.CONST_DDBLTFLAGS.DDBLT_WAIT | DxVBLib.CONST_DDBLTFLAGS.DDBLT_KEYSRC);

正確顯示角色,背景透明。
鍵盤按下時重繪 Form、按順序顯示角色圖框、更新 rect 位置即可。DirectDraw 繪圖速度極快,除遊戲外可用於播放 AVI/MPEG、螢幕保護程式(搭配解碼模組)。