Использование CGContext для отображения спрайт-листа iPhone - PullRequest
2 голосов
/ 19 мая 2010

Итак, у меня есть таблица спрайтов в формате png, и я уже определил координаты того, что я хочу отобразить. Я пытаюсь создать метод, который будет возвращать UIImage при передаче информации о местонахождении в таблицу спрайтов. Я просто не уверен, как использовать материал CGContext вместе с координатами, чтобы вернуть UIImage.

Я искал CGContextClipToRect, потому что я думаю, что это способ сделать это, но я просто не могу заставить его работать.

Примерно так

CGSize size = CGSizeMake(xSize, ySize);<br> UIGraphicsBeginImageContext(size);<br> //CGContextClipToRect(spriteSheet.size, imageRect);<br> [spriteSheet drawAtPoint:CGPointMake(xPos, yPos)];<br> UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();<br> UIGraphicsEndImageContext();<br> return newImage;<br>

возвращает только то, что находится в контексте размера. Мне нужно иметь возможность "перемещать" окно этого размера вокруг таблицы спрайтов, если это имеет смысл.

Любая помощь будет оценена.

Спасибо, Mike

Ответы [ 2 ]

9 голосов
/ 19 мая 2010

Я думаю, что вы хотите использовать CGImageCreateWithImageInRect

newImage = [UIImage imageWithCGImage:CGImageCreateWithImageInRect( [spriteSheet CGImage] , imageRect )];
0 голосов
/ 19 мая 2010

вам нужно думать о своих координатах задом наперед. Размер CGSize исправлен. Переведите ваши xPos, yPos так, чтобы ваш спрайт появился под окном.

...