|
-
Mar 11th, 2000, 06:14 AM
#11
Thread Starter
Addicted Member
My Map Editor Is Muck Easier With only a few drawbacks.
How it works.
0.MY VIEW AREA is a 640X480 WINDOW scale is set to PIXEL
1.Click on the tile wanted to use
2.click where to place it.
3.The block of land is set.
4.updates view area
/EXAMPLE
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = vbKeyLButton Then
MOUSECLICKER Int((X) / 32) + 1 + VIEWX, Int((((Y) - 480) * -1) / 32) + 1 + VIEWY
end sub
/////
/EXAMPLE
Public Sub MOUSECLICKER(X As Integer, Y As Integer)
GAMEGRID(X, Y) = CURT
'MsgBox GAMEGRID(X, Y)
Form1.Refresh
RENDER_ALL
End Sub
/////
whenever it updates this is the sub used to copy images from form2 and put them on the main form.
/Note I wanted the Y to Flip so i put Y = (Y - 480) * -1
in it
Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long
Public Sub RENDEROBJECTAND(OBJECTNUMBER As Integer, X As Long, Y As Long)
Y = (Y - 480) * -1
BitBlt Form1.hDC, X, Y, Form2!IMG(OBJECTNUMBER).ScaleWidth, Form2!IMG(OBJECTNUMBER).ScaleHeight, Form2!IMG(OBJECTNUMBER).hDC, 0, 0, vbSrcAnd
End Sub
'Heres my Load/Save Level Stuff
Option Explicit
Declare Function GetPrivateProfileString Lib "Kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, lpKeyName As Any, ByVal lpDefault As String, ByVal lpRetunedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
Declare Function WritePrivateProfileString Lib "Kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lplFileName As String) As Long
Global r%
Global entry$
Global iniPath$
Dim HOLDSTRING As String
Dim TX As Integer
Dim TY As Integer
Function GetFromINI(AppName$, KeyName$, FileName$) As String
Dim RetStr As String
RetStr = String(255, Chr(0))
GetFromINI = Left(RetStr, GetPrivateProfileString(AppName$, ByVal KeyName$, "", RetStr, Len(RetStr), FileName$))
End Function
' entry$ = SCENESTUFF(CURS2)
' HJK = Format(CURS2)
' r% = WritePrivateProfileString("SCENE STUFF", HJK, entry$, iniPath$)
Public Sub LOAD_LEVEL_64()
TX = 1
TY = 0
Form3.Show
iniPath$ = App.Path + "\TEST.MAP"
Do While TY <> 65
Form3.P1.Value = TX
Form3.P2.Value = TY
HOLDSTRING = "TILE" + Format(TX) + "X" + Format(TY)
GAMEGRID(TX, TY) = GetFromINI("MAP", HOLDSTRING, iniPath$)
TX = TX + 1
If TX = 65 Then
TX = 1
TY = TY + 1
End If
DoEvents
Loop
RENDER_ALL
Unload Form3
End Sub
Public Sub WRITE_LEVEL_64()
iniPath$ = App.Path + "\TEST.MAP"
TX = 1
TY = 0
Form3.Show
Do While TY <> 65
Form3.P1.Value = TX
Form3.P2.Value = TY
entry$ = GAMEGRID(TX, TY)
HOLDSTRING = "TILE" + Format(TX) + "X" + Format(TY)
r% = WritePrivateProfileString("MAP", HOLDSTRING, entry$, iniPath$)
TX = TX + 1
If TX = 65 Then
TX = 1
TY = TY + 1
End If
DoEvents
Loop
Unload Form3
End Sub
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|