93 lines
6.3 KiB
HTML
93 lines
6.3 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<link rel="stylesheet" href="style.css">
|
|
<meta content="text/html; charset=UTF-8" http-equiv="content-type">
|
|
<title>CreateTileSet [RCBasic Doc] </title>
|
|
</head>
|
|
|
|
<body>
|
|
<p><h2>Function CreateTileSet(img_id, tile_w, tile_h) </h2></p>
|
|
<p>
|
|
Return a new Tileset
|
|
</p>
|
|
<p>
|
|
Parameters:
|
|
</p>
|
|
<ul>
|
|
<li>
|
|
img_id - A image to use as a tile sheet
|
|
</li>
|
|
<li>
|
|
tile_w - The width of each tile
|
|
</li>
|
|
<li>
|
|
tile_h - The height of each tile
|
|
</li>
|
|
</ul>
|
|
<p id="rc_code"><code>
|
|
isFullScreen = <span class="rc_keyword">false</span> <br>
|
|
vSync = <span class="rc_keyword">true</span> <br>
|
|
winWidth = <span class="rc_number">640</span> <br>
|
|
winHeight = <span class="rc_number">480</span> <br>
|
|
canViewPortX = <span class="rc_number">0</span> <br>
|
|
canViewPortY = <span class="rc_number">0</span> <br>
|
|
<br>
|
|
OpenWindow<b>(</b><span class="rc_string">"TestTileset"</span>, winWidth, winHeight, isFullScreen, vSync<b>)</b> <br>
|
|
mCanvas = OpenCanvas<b>(</b>winWidth, winHeight, canViewPortX, canViewPortY, winWidth, winHeight, <span class="rc_number">1</span><b>)</b> <br>
|
|
Canvas<b>(</b>mCanvas<b>)</b> <br>
|
|
<br>
|
|
mAtlas = LoadImage<b>(</b><span class="rc_string">"testTileSet.png"</span><b>)</b> <span class="rc_comment">'Load in our atlas or tile set image </span><br>
|
|
<br>
|
|
mTileSet = CreateTileSet<b>(</b>mAtlas, <span class="rc_number">24</span>, <span class="rc_number">24</span><b>)</b> <span class="rc_comment">'Create a tile set and assign it a holder to access </span><br>
|
|
<br>
|
|
mTileMap = CreateTileMap<b>(</b>mTileSet, <span class="rc_number">20</span>, <span class="rc_number">20</span><b>)</b> <span class="rc_comment">'Create a tile map with our tile set holder "mTileSet" </span><br>
|
|
<br>
|
|
<span class="rc_comment">'Now we have a blacnk tilemap to fill with tiles, we now use the mAtlas image to fill in the map </span><br>
|
|
<span class="rc_comment">'First we will assign a grass tile across our entire tile map. lets grab a grass tile to fill in. </span><br>
|
|
<br>
|
|
FillTile<b>(</b>mTileMap, <span class="rc_number">166</span>, <span class="rc_number">0</span>, <span class="rc_number">0</span>, <span class="rc_number">20</span>, <span class="rc_number">20</span><b>)</b> <span class="rc_comment">'The tile number goes by starting at the top left corner to the right edge of the image, </span><br>
|
|
<span class="rc_comment">'then wraps around and comntinues the count, the image is 13 wide (0-12) so 166 would be </span><br>
|
|
<span class="rc_comment">'2 in from the end of the last row of images on the tileset. </span><br>
|
|
<br>
|
|
SetTile<b>(</b>mTileMap, <span class="rc_number">15</span>, <span class="rc_number">0</span>, <span class="rc_number">0</span><b>)</b> <span class="rc_comment">'With the map filled with grass tiles we can change a single tile, to a little guy in the </span><br>
|
|
<span class="rc_comment">'top left corner. </span><br>
|
|
<br>
|
|
<span class="rc_comment">'Before we begin our main loop, we need to make some variables for holding some important info </span><br>
|
|
mOffsetX = <span class="rc_number">0</span> <br>
|
|
mOffsetY = <span class="rc_number">0</span> <span class="rc_comment">'Offset values for where the tile is to be drawn from, used for scrolling. </span><br>
|
|
mViewportX = <span class="rc_number">640</span> <br>
|
|
mViewportY = <span class="rc_number">480</span> <span class="rc_comment">'How much of the tile map is to be drawn on the canvas </span><br>
|
|
<br>
|
|
<span class="rc_keyword">While</span> <span class="rc_keyword">Not</span> Key<b>(</b>K_ESCAPE<b>)</b> <br>
|
|
ClearCanvas<b>(</b><b>)</b> <br>
|
|
<br>
|
|
DrawTileMap<b>(</b>mTileMap, <span class="rc_number">0</span>, <span class="rc_number">0</span>, mViewportX, mViewportY, mOffsetX, mOffsetY<b>)</b> <br>
|
|
<br>
|
|
<span class="rc_keyword">If</span> Key<b>(</b>K_UP<b>)</b> <span class="rc_keyword">Then</span> <br>
|
|
mOffsetY = mOffsetY - <span class="rc_number">0.5</span> <br>
|
|
<span class="rc_keyword">ElseIf</span> Key<b>(</b>K_DOWN<b>)</b> <span class="rc_keyword">Then</span> <br>
|
|
mOffsetY = mOffsetY + <span class="rc_number">0.5</span> <br>
|
|
<span class="rc_keyword">ElseIf</span> Key<b>(</b>K_LEFT<b>)</b> <span class="rc_keyword">Then</span> <br>
|
|
mOffsetX = mOffsetX - <span class="rc_number">0.5</span> <br>
|
|
<span class="rc_keyword">ElseIf</span> Key<b>(</b>K_RIGHT<b>)</b> <span class="rc_keyword">Then</span> <br>
|
|
mOffsetX = mOffsetX + <span class="rc_number">0.5</span> <br>
|
|
<span class="rc_keyword">End</span> <span class="rc_keyword">If</span> <br>
|
|
<br>
|
|
Update<b>(</b><b>)</b> <br>
|
|
<span class="rc_keyword">Wend</span> <br>
|
|
<br>
|
|
<span class="rc_comment">'As you can see this replaces the grass tile with a character tile, if we wanted to place the character or any other object or image ontop of the tile </span><br>
|
|
<span class="rc_comment">'we would DrawImage() an image not using the tilemap. </span><br>
|
|
</code></p>
|
|
<p><img src="images/testTileSet.png" ></p>
|
|
<br><p>Related:
|
|
<a href="createtilemap.html">CreateTileMap</a>
|
|
<a href="settile.html">SetTile</a>
|
|
<a href="filltile.html">FillTile</a>
|
|
<a href="drawtilemap.html">DrawTileMap</a>
|
|
</p>
|
|
<p>
|
|
|
|
</body>
|
|
</html> |