亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? editorunit1.pas

?? 類似超級瑪麗模型之二(DELPHIX)
?? PAS
?? 第 1 頁 / 共 2 頁
字號:
  If fileexists('gfx\klosser.bmp') Then
  Begin
    Pbmp.items[1].Picture.loadfromfile('gfx\klosser.bmp');
    Kbmp.items[1].Picture.loadfromfile('gfx\klosser.bmp');
  End Else
  Begin
    Pbmp.items[1].Picture.loadfromfile('klosser.bmp');
    Kbmp.items[1].Picture.loadfromfile('klosser.bmp');
  End;
  PBMP.Items.Restore;
  KBMP.Items.Restore;
  refreshklosser;
End;


Procedure save(f: String);
Var ff              : File;
  dy, l             : integer;
Begin
  If fileexists(f) Then deletefile(f);
  assign(ff, f);
  rewrite(ff, 1);
  blockwrite(ff, game.level.info, sizeof(levelextrainfotype));
  For l := 0 To game.level.info.layers - 1 Do
    For dy := 0 To game.level.info.width - 1 Do
      blockwrite(ff, game.level.l[l][dy, 0], (game.level.info.height * 2));
  close(ff);
End;



Procedure teditorform.load(f: String);
Var ff              : File;
  l, dy, a          : integer;
Begin
  resetlevel;
  assignfile(ff, f);
  reset(ff, 1);
  blockread(ff, game.level.info, sizeof(levelextrainfotype));
  self.layers.items.Clear;
  For a := 0 To game.level.info.layers - 1 Do
  Begin
    self.layers.items.add(inttostr(a));
// self.layers.checked[a]:=true;
  End;
//self.Layers.
  For a := 0 To game.level.info.layers - 1 Do
  Begin
    self.layers.checked[a] := true;
  End;
  With game.level Do setlength(l, info.layers, info.width, info.height);
  For l := 0 To game.level.info.layers - 1 Do
    For dy := 0 To game.level.info.width - 1 Do
      blockread(ff, game.level.l[l][dy, 0], (game.level.info.height * 2));
  closefile(ff);
End;


Procedure TEditorForm.PreviewMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
Begin
  If ssShift In shift Then
  Begin
    fromlevel.Checked := true;
    draw := 3;
    selstarttemp := point(x Div 32 + scrollx.position, y Div 32 + scrolly.position);
  End Else
    Case Button Of
      mbLeft: draw := 1;
      mbRight: draw := 2;
    End;

  PreviewMouseMove(Sender, [], x, y);
End;

Procedure TEditorForm.PreviewMouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
Begin
  draw := 0;
  sellayer := currentlayer;
End;

Procedure TEditorForm.RefreshKlosser;
Var xx, yy, kloss   : integer;
Begin
  klosser.surface.Fill(clwhite);
  kloss := klosser.width Div 32 * KlosserScroll.Position;
  For yy := 0 To (klosser.height Div 32) - 1 Do
    For xx := 0 To (klosser.width Div 32) - 1 Do
      If kloss < Kbmp.items[1].PatternCount Then
      Begin
        Kbmp.Items[1].Draw(klosser.surface, xx * 32, yy * 32, kloss);
        If frombitmap.checked Then
          If (selstart.x <= xx) And (selend.x >= xx) And
            (selstart.y <= yy + klosserscroll.position) And (selend.y >= yy + klosserscroll.position) Then
            Kbmp.Items[2].Draw(klosser.surface, xx * 32, yy * 32, 0);

        inc(kloss);
      End Else break;
//klosser.surface.Canvas.Rectangle(selstart.x*32,selstart.y*32,selend.x*32+31,selend.y*32+31);
//drawbox(selstart,selend);
// for xx:=1 to 31 do
//
// with preview.surface.Pixels[xx,yy] .Canvas do
//  begin
//  Brush.Style := bsClear;
//  Rectangle(32,32,31+32,31+32);
//  Release;
//  end;
  KlosserScroll.Visible := (kbmp.items[1].patterncount) > (klosser.height Div 32) * (klosser.width Div 32);
  KlosserScroll.Max := (kbmp.items[1].patterncount) Div (klosser.width Div 32);
  If Not KlosserScroll.visible Then klosserscroll.Position := 0;
  klosser.Flip;
End;

Procedure TEditorForm.Splitter1Moved(Sender: TObject);
Begin
  refreshklosser;
End;

Var marking         : boolean = false;
  levelmarking      : boolean = false;

Procedure TEditorForm.KlosserMouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
Begin
  frombitmap.checked := true;
  selstarttemp := point(x Div 32, (y) Div 32 + klosserscroll.position);
  marking := true;
  KlosserMouseMove(Sender, [], x, y);
End;

Procedure TEditorForm.KlosserMouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
Begin
  marking := false;
End;

Procedure TEditorForm.PreviewMouseMove(Sender: TObject; Shift: TShiftState;
  X, Y: Integer);
Var xx, yy          : integer;
Begin
  If (x < 0) Or (y < 0) Or (x > preview.width) Or (y > preview.height) Then exit;
  cursor.x := x Div 32;
  cursor.y := y Div 32;

  If draw = 3 Then
  Begin
    selstart := selstarttemp;
    SelEnd := Point(x Div 32 + scrollx.position, y Div 32 + scrolly.position);
    If selend.x < selstart.x Then swap(selend.x, selstart.x);
    If selend.y < selstart.y Then swap(selend.Y, selstart.y);
// RefreshKlosser;
  End Else
    If fromlevel.checked Then
    Begin
      If selend.x >= game.level.info.width Then selend.x := game.level.info.width - 1;
      If selend.y >= game.level.info.height Then selend.y := game.level.info.height - 1;
      If selstart.x >= game.level.info.width Then selstart.x := game.level.info.width - 1;
      If selstart.y >= game.level.info.height Then selstart.y := game.level.info.height - 1;
    End;

  If draw = 1 Then
    If frombitmap.checked Then
    Begin
      For xx := 0 To (selend.x - selstart.x) Do
        For yy := 0 To (selend.y - selstart.y) Do
          If ((cursor.x + xx + game.scrollx Div 32) < game.level.info.width) And
            ((cursor.y + yy + game.scrolly Div 32) < game.level.info.height) Then
            game.level.l[currentlayer][cursor.x + xx + game.scrollx Div 32, cursor.y + yy + game.scrolly Div 32] :=
              (klosser.width Div 32) * (selstart.y + yy) + selstart.x + xx;
    End Else
    Begin
      For xx := 0 To (selend.x - selstart.x) Do
        For yy := 0 To (selend.y - selstart.y) Do
          If ((cursor.x + xx + game.scrollx Div 32) < game.level.info.width) And
            ((cursor.y + yy + game.scrolly Div 32) < game.level.info.height) Then
            game.level.l[currentlayer][cursor.x + xx + game.scrollx Div 32, cursor.y + yy + game.scrolly Div 32] :=
              game.level.l[sellayer][xx + selstart.x, yy + selstart.y];
    End;

  If draw = 2 Then
    For xx := 0 To (selend.x - selstart.x) Do
      For yy := 0 To (selend.y - selstart.y) Do
        If ((cursor.x + xx + game.scrollx Div 32) < game.level.info.width) And
          ((cursor.y + yy + game.scrolly Div 32) < game.level.info.height) Then
          game.level.l[currentlayer][cursor.x + xx + game.scrollx Div 32, cursor.y + yy + game.scrolly Div 32] := -1;

End;

Procedure TEditorForm.KlosserMouseMove(Sender: TObject; Shift: TShiftState;
  X, Y: Integer);
Begin
  If marking Then
  Begin
    selstart := selstarttemp;
    SelEnd := Point(x Div 32, y Div 32 + klosserscroll.position);
    If selend.x < selstart.x Then swap(selend.x, selstart.x);
    If selend.y < selstart.y Then swap(selend.Y, selstart.y);
    RefreshKlosser;
  End;
End;

Procedure TEditorForm.KlosserScrollChange(Sender: TObject);
Begin
  refreshklosser;
End;

Procedure TEditorForm.FormShow(Sender: TObject);
Begin
  refreshklosser;
End;

Procedure TEditorForm.LayersClick(Sender: TObject);
Begin
  With layers Do currentlayer := strtoint(Items[ItemIndex]);
End;

Procedure TEditorForm.FromlevelClick(Sender: TObject);
Begin
  If sender.ClassType = tmenuitem Then
    tmenuitem(sender).checked := true;
  refreshklosser;
  selstart := point(0, 0);
  selend := point(0, 0);
End;

Procedure TEditorForm.ScrollyChange(Sender: TObject);
Begin
  If scrolly.max <> game.level.info.height Then scrolly.max := game.level.info.height;
End;

Procedure TEditorForm.ScrollxChange(Sender: TObject);
Begin
  If scrollx.max <> game.level.info.width Then scrollx.max := game.level.info.width;
End;

Procedure TEditorForm.ActionLoadLevelExecute(Sender: TObject);
Begin
  If opendialog1.Execute = true Then
  Begin
    load(opendialog1.filename);
    With settingsform Do
    Begin
      edit1.text := inttostr(game.level.info.width);
      edit2.text := inttostr(game.level.info.height);
      edit3.text := game.level.info.name;
      combobox2.text := game.level.info.background;
      combobox3.Text := game.level.info.backobjs;
      combobox1.text := game.level.info.sprites;
      edit4.text := inttostr(game.level.info.scrollbackground);
      layers.Position := game.level.info.layers;
    End;
    initbmp;
    opendialog1.initialdir := extractfilepath(opendialog1.filename);
    savedialog1.filename := opendialog1.filename;
  End;
End;

Procedure TEditorForm.ActionSaveLevelExecute(Sender: TObject);
Begin
  If savedialog1.Execute = true Then
  Begin
    save(savedialog1.filename);
    savedialog1.initialdir := extractfilepath(savedialog1.filename);
    opendialog1.FileName := savedialog1.filename;
  End;
End;

Procedure TEditorForm.ActionOptionExecute(Sender: TObject);
Var a, c, ll, xx, yy: integer;
Begin
  With settingsform Do
    If showmodal = mrok Then
      With game.level Do
      Begin
        info.layers := layers.position;
        If self.layers.items.count <> info.layers Then
        Begin
          self.layers.items.Clear;
          For a := 0 To info.layers - 1 Do
          Begin
            self.layers.items.add(inttostr(a));
            self.layers.checked[a] := true;
          End;
        End;

        val(edit1.text, a, c);
        info.width := a;

        val(edit2.text, a, c);
        info.height := a;

        info.name := edit3.text;
        info.sprites := combobox1.Text;
        info.background := combobox2.Text;
        info.backobjs := combobox3.Text;
        info.megaobjs := combobox4.Text;
        info.bypass := combobox5.Text;
        setlength(l, info.layers, info.width, info.height);

        For ll := 0 To info.layers - 1 Do
          For xx := 0 To info.width - 1 Do
            For yy := 0 To info.height - 1 Do
              If l[ll][xx, yy] = 0 Then l[ll][xx, yy] := -1;

        val(edit4.text, a, c);
        info.scrollbackground := a;
        initbmp;

        Scrollx.Max := game.level.info.height;
        Scrolly.Max := game.level.info.width;
      End;
End;

procedure TEditorForm.ActionExitExecute(Sender: TObject);
begin
  Close;
end;

procedure TEditorForm.ActionResetLevelExecute(Sender: TObject);
begin
  If application.messagebox('Vil du t鴐me brettet?', '', mb_yesno) = mryes Then
    resetlevel;
end;

procedure TEditorForm.ActionShowHintsExecute(Sender: TObject);
begin
  Layers.ShowHint:=Hints1.Checked;
  Preview.ShowHint:=Hints1.Checked;
  Klosser.ShowHint:=Hints1.Checked;
end;

procedure TEditorForm.ActionRunLevelExecute(Sender: TObject);
begin
  chdir(extractfilepath(application.exename));
  DeleteFile('j32temp.l');
  If Not fileexists('j32temp.l') Then
  Begin
    Save('j32temp.l');
    WinExec('joffa.exe j32temp.l', sw_show);
  End;
end;

End.

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品亚洲欧美一区| 日本中文字幕一区| 欧美美女激情18p| 国产91富婆露脸刺激对白| 亚洲高清视频中文字幕| 亚洲国产岛国毛片在线| 欧美一二区视频| 色八戒一区二区三区| 国产成人精品1024| 蜜桃久久av一区| 亚洲国产精品一区二区www在线| 久久伊人蜜桃av一区二区| 5858s免费视频成人| 95精品视频在线| 国产精品影视天天线| 日韩国产精品大片| 一区二区三区欧美日韩| 国产欧美日本一区视频| 精品国产a毛片| 欧美一区二区不卡视频| 欧美色电影在线| 欧美在线观看一区二区| av电影在线观看一区| 国产成人精品免费在线| 国产乱子伦一区二区三区国色天香| 五月婷婷综合网| 一区二区三区欧美日| 亚洲色图制服诱惑| 成人欧美一区二区三区视频网页| 久久久精品欧美丰满| 日韩精品一区二区三区swag| 7777精品伊人久久久大香线蕉经典版下载 | av不卡一区二区三区| 国产成人精品一区二| 国产成人欧美日韩在线电影| 精品一区二区在线看| 美腿丝袜在线亚洲一区 | 日本伊人精品一区二区三区观看方式| 一区二区三区欧美日| 亚洲精品高清在线| 亚洲蜜桃精久久久久久久| 亚洲三级在线观看| 亚洲欧美激情一区二区| 亚洲美女视频一区| 亚洲一区二区精品视频| 午夜欧美大尺度福利影院在线看| 天天亚洲美女在线视频| 日本亚洲三级在线| 久久97超碰国产精品超碰| 国内精品写真在线观看| 国产精品一区二区久久不卡| 国产成人精品aa毛片| 成年人国产精品| 在线精品视频免费播放| 555www色欧美视频| 精品国产凹凸成av人导航| 国产日韩欧美高清在线| 亚洲日本在线看| 香蕉成人伊视频在线观看| 91麻豆国产香蕉久久精品| 在线观看日韩一区| 欧美一区二区久久| 国产亚洲综合av| 亚洲欧美日韩精品久久久久| 亚洲电影中文字幕在线观看| 蜜臀av一区二区在线免费观看| 国产一区二区福利视频| 色综合久久久久网| 国产美女视频一区| 国产精品一区在线观看你懂的| 91麻豆自制传媒国产之光| 欧美日韩一区在线观看| 91精选在线观看| 国产欧美日韩不卡免费| 在线播放日韩导航| 欧美va在线播放| 中文字幕一区二区三区在线播放| 亚洲中国最大av网站| 久久国产尿小便嘘嘘尿| 99久久婷婷国产综合精品电影| 欧美日韩一级二级三级| 26uuu精品一区二区三区四区在线| 中文字幕乱码日本亚洲一区二区| 亚洲欧美激情视频在线观看一区二区三区 | 激情文学综合网| 色悠悠亚洲一区二区| 日韩欧美高清一区| 久久99精品久久久| 一区二区欧美视频| 久久91精品久久久久久秒播| 91丨九色丨蝌蚪丨老版| 精品少妇一区二区三区视频免付费| 亚洲图片另类小说| 狠狠色狠狠色综合系列| 色老综合老女人久久久| 久久综合九色欧美综合狠狠| 一区二区久久久| 懂色av一区二区三区免费看| 欧美一区午夜精品| 亚洲精品国产a| 成人免费电影视频| 精品三级av在线| 亚洲大片免费看| 91视频免费看| 国产视频一区二区在线观看| 日韩av网站在线观看| 2023国产精品视频| 亚洲成人免费视频| 91香蕉视频黄| 国产欧美日韩视频在线观看| 老司机午夜精品| 欧美久久久一区| 亚洲一区二区高清| 色综合久久久久综合99| 国产精品三级在线观看| 国内精品自线一区二区三区视频| 欧美高清视频不卡网| 亚洲欧美激情视频在线观看一区二区三区 | 性欧美疯狂xxxxbbbb| 色婷婷综合久久久久中文 | 亚洲丰满少妇videoshd| 91麻豆swag| 亚洲欧美乱综合| 色综合天天综合网天天看片| 欧美激情中文不卡| 成人综合在线网站| 欧美系列在线观看| 麻豆成人91精品二区三区| 91福利资源站| 亚洲成人三级小说| 日韩视频不卡中文| 极品少妇xxxx精品少妇| 久久一二三国产| 国产精品自拍在线| 中文字幕在线免费不卡| 精品区一区二区| 国产成人超碰人人澡人人澡| 毛片一区二区三区| 精品乱人伦一区二区三区| 日本成人在线视频网站| 91精品久久久久久蜜臀| 日韩国产欧美三级| 精品国产免费一区二区三区四区 | 日韩av在线免费观看不卡| 91免费国产在线观看| 色婷婷亚洲精品| 国产久卡久卡久卡久卡视频精品| 麻豆精品视频在线观看免费| 99re热这里只有精品免费视频| 综合久久久久久| 欧美中文字幕一区二区三区亚洲| 亚洲尤物在线视频观看| 欧美色男人天堂| 精品一区中文字幕| 国产精品第五页| 欧洲av一区二区嗯嗯嗯啊| 午夜伦欧美伦电影理论片| 欧美成va人片在线观看| 国产成a人无v码亚洲福利| 中文字幕在线观看一区| 欧美在线短视频| 麻豆91精品视频| 国产精品美女久久久久高潮| 日本乱人伦一区| 久久99国产精品久久99果冻传媒| 亚洲国产电影在线观看| 欧美性猛交xxxxxx富婆| 青青国产91久久久久久| 国产婷婷色一区二区三区四区 | 国产精品伦理一区二区| 欧美综合视频在线观看| 久久99国产精品麻豆| 亚洲色欲色欲www| 精品剧情在线观看| 97se亚洲国产综合自在线不卡| 亚洲成人激情av| 久久久天堂av| 欧美美女视频在线观看| 高清久久久久久| 日日摸夜夜添夜夜添精品视频| xnxx国产精品| 欧美性猛交xxxx黑人交| 国产精品一二三区| 亚洲va欧美va人人爽午夜| 国产亚洲欧洲997久久综合| 欧美系列亚洲系列| 国产成人精品免费在线| 水蜜桃久久夜色精品一区的特点| 国产日韩影视精品| 91精品国产综合久久福利| 成人精品国产福利| 蜜桃91丨九色丨蝌蚪91桃色| 亚洲品质自拍视频| 久久久久久久久岛国免费| 欧美视频一区二区在线观看| 高清在线观看日韩| 久久99国产精品麻豆| 天堂一区二区在线免费观看| 国产精品福利电影一区二区三区四区 | 国产一区视频导航|