2

だから私はpng形式のスプライトシートを持っていて、表示したいものの座標をすでに計算しています。スプライトシートの位置情報が渡されたときにUIImageを返すメソッドを作成しようとしています。UIImageを返すための座標とともにCGContextのものを使用する方法がわかりません。

CGContextClipToRectを探していたのは、それがその方法だと思うからですが、それを機能させることができないようです。

このようなもの

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

サイズContextにあるものだけを返します。それが理にかなっている場合は、スプライトシートの周りでこのサイズのウィンドウを「移動」できるようにする必要があります。

どんな助けでもいただければ幸いです。

ありがとう、マイク

4

2 に答える 2

9

使いたい電話はCGImageCreateWithImageInRect

newImage = [UIImage imageWithCGImage:CGImageCreateWithImageInRect( [spriteSheet CGImage] , imageRect )];
于 2010-05-19T07:59:33.980 に答える
0

座標を逆に考える必要があります。CGSizeは固定されています。スプライトがウィンドウの下に表示されるように、xPos、yPosを変換します。

于 2010-05-19T07:47:37.580 に答える