📄 mapwin.htm
字号:
<p><a name="brshmenu"></a></p>
<h3>The Brushes Menu</h3>
<p>
Often you will have 'objects' that consist of several
blocks, maybe a house or road or something, there is an easy way
to put these in. First, put the blocks in the Map Editor as they
are supposed to be layed out, then
select <strong>Grab New Brush</strong> from the Brush menu, move the mouse pointer over
one corner of the object you want to pick up as a brush, then
hold down the left mouse button and move the mouse pointer to the
opposite corner, you will see a bounding box as you do this.
Release the left mouse button to finish picking the brush. You can
name/rename a brush at any time by selecting Rename Current Brush. Now
you will be able to paste the whole object anywhere on the map
with a single click, the block the mouse pointer is over will be
the corner of the brush specified by 'Handle'. You can reselect
the brush at any time by selecting it from the Brushes menu, they
are also saved with the map so you can use them when you load it
next time. You can Fill with a brush as
well, either tiling, or randomly, see <a href="#maped">Map Editor
Window</a>. If you want to save a bit of space (and it will be a
very small amount) choose the Destroy All Brushes option.<br>
<br>
<strong>Grab Brush</strong>. Works like Grab New Brush,
except it will replace the currently selected brush.<br><br>
<strong>Grab brush from block sequence</strong>. Allows you
to make a brush from consecutive block structures without having
to get them from the map.<br>
<br>
<strong>Disable brush transparency</strong>. When selected,
means that block 0 parts of the brush will overwrite when pasted
rather than not affecting the map.<br>
<br>
<strong>Handle</strong>. Selects which corner of the brush
is under the mouse pointer when it is placed in the map (useful
for pasting the brush partially on the map).<br>
<br>
<strong>Brush</strong>. A list of the 16 brushes that can
be created per map. Selecting a brush lets you paste it in the
Map Editor window.<br>
<br>
<strong>Rename current brush</strong>. Lets you rename
the currently selected brush.<br>
<br>
<strong>Destroy all brushes</strong>. Destroys all brushes
in the map saving a (very small) amount of space.<br>
</p>
<p><a href="#topod">(top of doc)</a> </p>
<hr>
<p><a name="layrmenu"></a></p>
<h3>The Layers Menu</h3>
<p> There are two different layer systems in Mappy, one is
Block Layers, which are the four layers associated with Block
Properties, the other is Map Layers, which is what this menu
manipulates. Map Layers are identical in size and shape to the
numbers you specified in New Map's map width and map height. The
idea is you can use a layer for games objects (like pickup items)
or perhaps changes in a level when a lever is pulled in the game.
The options in this menu are fairly self explanatory. If you just
want to do a load of levels for a game with the same graphics and
blocks, you can export the map array (the current layer) as a .MAR
file and this
will be much smaller than a whole .FMP file.<br><br>
You can export and import layers as .MAR files, but
the map you are working on MUST have identical blocks and be the
same size. This is handy if you are doing a 100 level game as
Mappy only handles 8 layers internally. Most playback libraries
have a 'MapLoadMAR' function or similar to load new levels after
loading the main FMP file for unlimited layer support.<br>
<br>
<strong>Add Layer</strong>. Adds a new layer and makes it
the current layer.<br>
<strong>Duplicate Layer</strong>. Adds a new layer, copies
the current layer to it and makes the new layer the current layer.<br>
<strong>Delete Layer</strong>. Deletes the current layer.<br>
<strong>Clear Layer</strong>. Clears the current layer to
block 0. You can fill the layer with a different block with the
'f' key.<br>
<strong>Slide layer</strong>. Slides only the current layer
in four directions, with optional wrapping, you can use 'undo'
afterwards if you make a mistake.<br>
<strong>Adjust values</strong>. (advanced), changes the
block numbers in the current layer by a requested amount.<br>
<strong>Remove marker graphics</strong>. Deletes graphics
used by blocks on this layer, see also
<a href="#markers">Using Marker Blocks</a>.<br>
<br>
<strong>Layer (0 to 7)</strong>. Select which layer to
edit in the map.<br>
<br>
<strong>Onion Skin</strong>. Allows you to see transparently
through a layer to one other selected layer, or all other layers.
It's best to keep this
feature off if you aren't using it. The current layer (ie the one
which has the tick next to it in the layers menu) is the top
layer which will be the one altered. The background layer is
selectable in the Onion Skin dialogue and will be shown behind
the current layer, you can optionally make this appear darker so
the current layer stands out more. The background layer is drawn
as a guide and will not be altered when you are editing the
current layer. Remember to switch it off when you've finished,
and selecting a layer that doesn't exist for the background is
not advisable :) Loading a map will switch off onion skin.<br>
<br>
<strong>Background layers darkened</strong>. Toggles
darkening of the non-current layers (for example with onion skin
or object layer).</p>
<p><a href="#topod">(top of doc)</a> </p>
<hr>
<p><a name="cstmmenu"></a></p>
<h3>The Custom Menu</h3>
<p>
<strong>Mousebuttons</strong>. You can define which action
each button performs. Drag map allows you to scroll the map
by holding the button and dragging the mouse over the Map Editor
window. Placer.lua runs the Placer.lua script in the luascr folder.
<br><br>
<strong>Lua scripts</strong>. The rest of this menu contains
a list of lua scripts which can be defined in the mapwin.ini file.
Some example scripts are provided in the luascr folder, they are
just text files with a .lua extension. For information on the
MappyWin32 lua interface, please see the
<a href="luascript.html">MappyWin32 Lua scripting documentation</a>.</p>
<p><a href="#topod">(top of doc)</a> </p>
<hr>
<p><a name="scuts"></a></p>
<h3>Shortcuts</h3>
<p> This is a list of shortcut keys, excluding those listed next
to items in the menus (see the menus for these, for example ctrl+m is new map).
Be sure you don't have caps lock on:<br><br>
f = fill area with current block/brush (from mousepointer)<br>
ctrl+f = fill area with current brush randomly (from mousepointer)<br>
l = draw a line from last placed block to mousepointer (8 directions)<br>
o = toggle picklayer (isometric)<br>
p = pick (select) current block/anim from under mouse pointer<br>
, = (comma) select previous numbered block/anim<br>
. = (fullstop) select next numbered block/anim<br>
e = edit current block/anim properties<br>
cursor keys = scroll map<br><br>
You can also set the function keys and number keys (main keyboard)
to any function you want, you will need to change the values in the
<a href="#mapini">mapwin.ini</a> file to any of these values (so keyF2=400
will run the first lua script in the custom menu when F2 is pressed,
keyF3=124 will change to layer 1 when F3 is pressed etc):<br><br>
<br>
LUA01 to LUA16: 400 to 415,
EDITBLKPROP 182,
LAYERBGDARK 181,
TOOLDIVIDERS 180,
TOOLROTATILES 179,
TOOLHALVEBLOCKDIMENSIONS 178,
TOOLSAVENOGFX 177,
FILEEXPORTTEXT 176,
CUSTOMBUTTONS 175,
TOOLIMPORTBIG 174,
TOOLUSERINFO 173,
LAYERDUPLICATE 172,
TOOLFLIPTILES 171,
TOOLZOOM025 170,
TOOLZOOM05 169,
TOOLRESIZETILES 168,
TOOLAUTOBG 167,
TOOLLINE 166,
BRUSHGRABNEW 165,
LAYERADJUSTVALUES 164,
LAYERREMOVEMARKERS 163,
BRUSHHANDLEBR 162,
BRUSHHANDLEBL 161,
BRUSHHANDLETR 160,
BRUSHHANDLETL 159,
TOOL16X16TO8X8 158,
LAYERSLIDE 156,
PICKLAYER 155,
TOOLPILLARS 154,
TOOLREVEAL 153,
FILEIMPORTALT 152,
BRUSHRENAME 151,
BRUSHGRABBS 150,
BRUSHGRABNT 149,
TOOLRANGE 148,
LAYERCLEAR 137,
LAYERONION 147,
TOOLZOOM4 146,
TOOLZOOM2 145,
TOOLZOOM1 144,
TOOLREMOVEUNUSED 141,
BRUSHDESTROY 140,
TOOLANIMSETUP 139,
TOOLANIMPREVIEW 138,
EDITUNDO 135,
TOOLFILLRANDOM 210,
TOOLFILL 209,
TOOLINFO 134,
TOOLGRID 208,
FILEEXPORT 133,
TOOLRESIZE 132,
LAYER0 to LAYER7: 123 to 130,
LAYERDELETE 122,
LAYERADD 121,
PICKBLOCK 207,
BLOCKNEXT 206,
BLOCKPREV 205,
ARROWRIGHT 203,
ARROWLEFT 202,
ARROWDOWN 201,
ARROWUP 200,
HELPABOUT 120,
HELPCONTENTS 119,
BRUSH1 to BRUSH16: 300 to 315,
BRUSHGRAB 110,
EDITPASTE 109,
EDITCOPY 108,
EDITCUT 107,
EDITNEW 131,
FILEEXIT 106,
FILEIMPORT 105,
FILEIMPORTAT 136,
FILESAVEAS 104,
FILESAVE 103,
FILENEW 102,
FILEOPEN 101
</p>
<p><a href="#topod">(top of doc)</a> </p>
<hr>
<p><a name="howit"></a></p>
<h3>How It Works</h3>
<p> I have designed Mappy to hopefully be expandable,
produce small mapfiles with lots of features, and most
importantly be fast and easy to playback. The FMP format (how the
maps are stored) is a 'chunk' based format which allows all the
information for the map (graphics, array, anims, block data etc)
to be stored in a single file, you can also add your own chunks
to this file if you want, more details in <a href="#fmpform">FMP
file format</a>.The <a href="#playlib">playback libraries</a>
then provide functions to load and play the map within your game.
MappyWin32 can also read and write custom MAP formats, see
<a href="#simple">Using Mappy as a simple map editor</a> and
export map information as text for GBA etc.<br>
<br>
The map editor comes in several versions, this
documentation is concerned with the Win32 version. To make a FMP map
from scratch, you will need to make, or get some 'tile graphics'
(if you don't know what some of these terms mean, see the <a
href="#glossary">glossary</a>) and
import them into a map (see next section). It is important to be
aware of the hierarchy of the objects within Mappy, you have the
top level which is the <font color="#FF0000">Map Array</font>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -