I had a look at it but really couldn't make heads nor tails of when actions it was ment to perform.
Just explain when each function does and what called it.
[This message has been edited by Gromit (edited December 13, 1999).]
I had a look at it but really couldn't make heads nor tails of when actions it was ment to perform.
Just explain when each function does and what called it.
[This message has been edited by Gromit (edited December 13, 1999).]
....@..... this is 100*100 tile map, shrinked "@" is tile 2, and "." is tile 1
...@...... when I draw a tile to 50,0 , look what happens.
..@....... The code draws same tile to 40,10 , 30, 20 and so on... of course it
.@........ happens to every tile.
@.........
..........
..........
..........
..........
..........
here is the code I use. If the problem isn't here, I can post more code if you need
code:Public map(100, 100)Public NumOfRows As IntegerNumOfRows = 16'this opens the map to map editorOpen App.Path & "\map.dat" For Random As #1 For xx% = 0 To 100 For yy% = 0 To 100 Get #1, 1 + yy% + xx% * 14, map(xx%, yy%) Next NextClose'these two Longs get tile from miniature pic of tiles (real size of tiles are 64*60)Sub drawpens() u& = BitBlt(hDC, 20, 30, 32, 30, Picture2.hDC, (pen(0) \ NumOfRows) * 32, (pen(0)Mod NumOfRows) * 30, SRCCOPY) u& = BitBlt(hDC, 120, 30, 32, 30, Picture2.hDC, (pen(1) \ NumOfRows) * 32, (pen(1) Mod NumOfRows) * 30, SRCCOPY)End SubPrivate Sub Form_Unload(Cancel As Integer)'this saves the map when quitting map editorOpen App.Path & "\map.dat" For Random As #1 For xx% = 0 To 100 For yy% = 0 To 100 Put #1, 1 + yy% + xx% * 15, map(xx%, yy%) Next NextCloseEnd Sub'this procedure blits tiles to picture boxPrivate Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)On Error Resume NextIf dwn% Then xx% = X \ 32 yy% = Y \ 30 If Button = 1 Then map(xx% + HScroll1.Value, yy% + VScroll1.Value) = pen(0) Else map(xx% + HScroll1.Value, yy% + VScroll1.Value) = pen(1) u& = BitBlt(Picture1.hDC, xx% * 32, yy% * 30, 32, 30, Picture2.hDC, (map(xx% + HScroll1.Value, yy% + VScroll1.Value) \ NumOfRows) * 32, (map(xx% + HScroll1.Value, yy% + VScroll1.Value) Mod NumOfRows) * 30, SRCCOPY)End IfEnd Sub'now the game starts Open App.Path & "\map.dat" For Random As #1 For xxM = 0 To 100 For yyM = 0 To 100 Get #1, 1 + yyM + xxM * 14, map(xxM, yyM) Next Next Close