Reputation: 1883
I'm trying to make a game in HTML5 canvas, but instead of uploading a ton of images I want to just upload one image that has all of the tiles on it. The problem is, I don't know how to make only one part of the image show up. Basically I want to do what Google does with this image: http://www.google.com/images/srpr/nav_logo27.png except with fixed height/width tiles. Can someone explain to me how to do this? Also, if it's different in canvas than in a regular html page without canvas, how would I do it in canvas?
Upvotes: 5
Views: 3312
Reputation: 50109
You can use the slicing parameters of drawImage
drawImage(image, sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight)
sx
, sy
: left and top offset of the part to be slicedsWidth
, sHeight
: dimensions of the part to be sliceddx
, dy
: left and top offset for the image on the canvas to be rendered atdWidth
, dHeight
: image dimensions on the canvasMore info at: Using images - Slicing (MDC)
Upvotes: 13
Reputation: 2084
This is how I do it with GWT: http://code.google.com/p/gwt-examples/wiki/gwt_hmtl5
Upvotes: 0
Reputation: 839
Take a look at SpriteJS https://github.com/batiste/sprite.js/blob/master/sprite.js there the work is based on offset at the moment of drawing the sprite from a single picture.
Upvotes: 0