When you create a sprite, it's always on screen. Alternatively, you can call drawSprite (the manual way as I call it).
I'm not sure why I'd use clone sprite. I have one single sprite; a large image containing all the different tiles. I cut the image up by creating an animation from it (still a single sprite). I select the different animation frame(image tile), position the sprite, draw it, then move on to the next one.
_Spr_Tiles = createSprite(loadImage("tileset.png"))
setSpriteAnimation(_Spr_Tiles, _TileSize, _TileSize, tileCount)
function drawTile(x, y, tileNumber)
setSpriteFrame(_Spr_Tiles, tileNumber)
setSpritePosition(_Spr_Tiles, x, y)
drawSprite(_Spr_Tiles)
endfunction
function drawViewport(viewport, offsetX, offsetY)
for y = 1 to VIEWPORT_TILE_COUNT_Y
for x = 1 to VIEWPORT_TILE_COUNT_X
tx = (x-1)*_TileSize + offsetX + _MapX
ty = (y-1)*_TileSize + offsetY + _MapY
drawTile(tx, ty, viewport[viewport,x,y].img)
next x
next y
endfunction
Hopefully that snippet makes more sense to how I'm currently doing it.
"You're all wrong. You're all idiots." ~Fluffy Rabbit