Delphi 经典游戏程序设计40例 的学习 例2 第二部分


 

procedure TRein40_02.Button2Click(Sender: TObject);
var
  X,Y : Byte;

begin
  Make_Bmap.Canvas.CopyMode := cmSrcCopy;

  for y:=0 to (Tate-1) do
    for x:=0 to (Yoko-1) do
    begin
      p := ptmap2[x,y];
      if p  <> 0 then
      begin
        PX := (p mod 16) *16 ;
        PY := (p div 16) *16 ;
        Rect_L := Rect(PX,PY,PX+16,PY+16);
        Rect_M := Rect(x*16,y*16,x*16+16,y*16+16);
        Make_Bmap.Canvas.CopyRect(Rect_M,Load_Bmap.Canvas,Rect_L);

      end;

    end;

    Rein40_02.Canvas.CopyMode := cmSrcCopy;
    Rein40_02.Canvas.Draw(0,0,Make_Bmap);
end;

 学习点:

二维数组 对应 的 图样 转 图形 数据结构,

去掉 没有用到的 GX,GY 变量。