我知道這是用web編程完成的,可以用xcode和obj-c來完成嗎?我有一個精靈表和兩個按鈕的實例(正常和點擊)。我知道我可以使用obj-c中的點擊功能,但是我可以導入一個精靈圖紙並裁剪精靈圖紙的一部分(如網站)以在一個精靈圖表中裁剪圖像的所需部分?如果是的話,你需要什麼功能,你有什麼樣的例子,你可以指點我?xcode和sprite工作表,如何在一張工作表中存在多個圖像時裁剪圖像
回答
您可以使用CALayer
:它比UIImageView
重量更輕,而且使用起來非常簡單。這個想法是基於this post的例子,並從一個工作項目中解除。
// "sprites.png" is a 192x128 picture containing two rows of three 64x64 sprites each
NSString *path = [[NSBundle mainBundle] pathForResource:@"sprites.png" ofType:nil];
CGImageRef img = [UIImage imageWithContentsOfFile:path].CGImage;
imgLayer = [CALayer layer];
imgLayer.contents = (__bridge id)img;
// Frame defines the position of your sprite inside your view
imgLayer.frame = CGRectMake(horOffset, verOffset, 64, 64);
imgLayer.bounds = CGRectMake(0, 0, 64, 64); // The size of an individual sprite
// Pick the sprite from the top row, left column
imgLayer.contentsRect = CGRectMake(0, 0, 1.0/3.0, 1.0/2.0);
// Top row, middle column
// imgLayer.contentsRect = CGRectMake(1.0/3, 0, 1.0/3.0, 1.0/2.0);
// Top row, right column
// imgLayer.contentsRect = CGRectMake(2.0/3, 0, 1.0/3.0, 1.0/2.0);
// Bottom row, left column
// imgLayer.contentsRect = CGRectMake(0, 1.0/2, 1.0/3.0, 1.0/2.0);
// Bottom row, middle column
// imgLayer.contentsRect = CGRectMake(1.0/3, 1.0/2, 1.0/3.0, 1.0/2.0);
// Bottom row, right column
// imgLayer.contentsRect = CGRectMake(2.0/3, 1.0/2, 1.0/3.0, 1.0/2.0);
[self.layer addSublayer:imgLayer];
您先生已經使我很多痛苦的代碼。 'imgLayer.contentsRect'不應該是'64,64'它應該是'1,1' ..仔細檢查時,示例鏈接中的代碼有效。 – 2013-11-28 22:11:22
@LéMuffinManm非常感謝您的評論!經過仔細檢查,我意識到我複製/粘貼'contentsRect'兩次 - 一次代替'bounds',一次在正確的位置。這現在已經修復。謝謝! – dasblinkenlight 2013-11-28 23:48:42
謝謝,我明白了,但我必須說,哇!這確實很難把我的頭包裹起來。 – 2013-11-29 02:18:59
- 1. 裁剪圖像 - 不工作
- 2. Silverlight圖像裁剪如何工作?
- 3. 圖像裁剪在本地工作臺中不起作用
- 4. 圖像裁剪使用jquery真棒裁剪,不工作
- 5. 圖像裁剪不能在嵌套的foreach中工作
- 6. Xcode AVFoundation裁剪圖像
- 7. 如何在裁剪後保存圖像?
- 8. 如何在ImageMagick中統一裁剪/裁剪圖像?
- 9. 圖像裁剪不工作在jquery對話框
- 10. 如何在iphone中保存多張圖像作爲單張圖像?
- 11. 圖像裁剪和拇指創作
- 12. 工作流調整大小和裁剪圖像加權座標
- 13. 裁剪不顯示圖像和不工作 - android
- 14. 在android中裁剪圖像
- 15. 在Java中裁剪圖像
- 16. 在Matlab中裁剪圖像
- 17. 在HTML5中裁剪圖像
- 18. 在Richfaces中裁剪圖像
- 19. 在matlab中裁剪圖像
- 20. 在android中裁剪圖像
- 21. 在CSS中裁剪圖像
- 22. 在opencv中裁剪圖像
- 23. 在PHP中裁剪圖像
- 24. 在Java中裁剪圖像
- 25. 在wordpress中裁剪圖像
- 26. 在iPhone中裁剪圖像
- 27. 將多個工作表從多個工作表複製到一張工作表
- 28. 我如何裁剪或裁剪製作內容圖像?
- 29. 如何裁剪圖像到一個幀
- 30. 如何在一個步驟中裁剪和追加圖像?
你打算如何顯示你的精靈?你把它們放在'UIImageView','CALayer'或其他的東西里嗎? – dasblinkenlight 2012-02-27 19:27:13
UIImageView,但打開其他的想法,如果可能更好的解決方案 – 2012-02-27 22:35:50