2010-12-07 45 views
1

我正在開發使用一個UIView和GraphicsContext的iPhone遊戲應用程序。在初級講座是我在做什麼:如何加快iPhone遊戲應用程序?

UIGraphicsBeginImageContext(CGSizeMake(320, 480)); 
CGContextRef contextRef = UIGraphicsGetCurrentContext(); 

與contextRef圖紙:

UIImage* imageContext = UIGraphicsGetImageFromCurrentImageContext(); 

... call [self setNeedsDisplayInRect]; 

(void)drawRect:(CGRect)rect { 

     [imageContext drawAtPoint:CGPointMake(0, 0)]; 
     // it takes a lot time (about 0.120 seconds) to draw imageContext on iPhone 4 device.... 
} 

的問題是,繪製imageContext需要花費很多時間。它需要大約0.12秒或更多。在iPhone設備上,繪製圖像需要很長時間。所以,我正在尋找解決方案來解決問題或在更短的時間內繪製圖像。

有誰知道如何減少時間? 如何在iPhone上開發遊戲?在App Store中,有很多遊戲。每場比賽都有適當的速度。

請推薦我用一個UIView開發遊戲的方法或示例。

提前致謝!

+0

一般來說,我同意下面的Bonegh和lm2s,你應該考慮爲你的遊戲使用遊戲引擎,因爲它們在遊戲需要能夠做到的API和性能方面都更好。這就是說,我想知道爲什麼你要繪製到drawRect之外的圖形上下文中:通常情況下,您只需在drawRect中執行繪圖:在圖形上下文中已經爲您設置的圖形上下文中。 – Ryan 2010-12-07 17:31:37

回答

4

使用框架,cocos2d是最好的和最常用的iPhone 2D遊戲之一。如果你使用UIView和CGContextRef,我猜你正在製作2D遊戲,還有Unity和其他一些3D框架。

http://www.cocos2d-iphone.org

此框架使用OpenGLES渲染精靈,它配備了2個不同的物理引擎使用(我比較喜歡Box2D的),並有一個非常繁忙的和有用的社區從中獲取幫助。

祝你好運!

+0

還有Sparrow 2D引擎(http://www.sparrow-framework.org/),「他們」認爲這很容易理解和使用。 – lm2s 2010-12-07 17:06:53