2012-09-22 60 views
1

我將爲iOS設備創建遊戲,並希望能夠使用自己的圖像渲染器類將圖像繪製到屏幕上。Objective-C iOS如何將圖像繪製到屏幕

我正在尋找類似於Microsoft XNA使用您畫圖像每一幀,我不知道如何去AOUT這樣做的一個方法。我已經有了Objective-C的經驗,而且我在C#中經驗非常豐富(我明白這是一個不同的球類遊戲),但是我有一半希望CoreGraphics像C#中的圖形對象一樣。不過,我無法將頭部纏繞到屏幕上。我能找到的唯一方法是重寫他的drawRect方法,但這對我來說毫無用處,因爲我將在不同的時間繪製不同的事物並需要它是動態的。

我曾想過使用核心圖形繪製每個圖像,我也有想過,涉及繪畫爲每幅圖像Im圖中每個像素的1個像素的矩形另一種方法,但我不知道如何將工作。

所以我需要幫助: - 從一個獨立的圖像渲染器類中的方法繪製圖像(或矩形)。

  • 如何繪製圖像的每個框架類似於微軟xna。

在此先感謝您的幫助,並且我讚揚了這篇長文章。

回答

1

1)對於所有「同步」部分,即每次刷新屏幕時畫一個新框架,應該使用CADisplayLink類,該類允許您指定每次需要框架時選擇的方法被繪製。

被調用的方法將作爲其參數傳遞的CADisplayLink對象,對此您可以查詢時間戳和讓你知道你需要繪製哪一幀。例如,如果您有一個移動球的遊戲,您可以比較當前幀的時間戳和最後一個繪製幀的時間戳,並知道已經過了多少時間,因此您可能知道您的球速度和最後位置,您可以輕鬆確定您需要繪製的新位置。 2)其餘部分,即所有繪圖部分,除非您選擇使用OpenGL(在這種情況下請看GLKit以使您的代碼更容易),那麼您可以使用Core Graphics來進行低級繪圖你自己。爲此,您可以在Quartz 2D Programming Guide中找到所需的全部內容,包括如何繪製像素更加細緻的路徑/矢量圖形,以及如何在位圖上下文中繪製離屏。