2013-11-26 15 views
0

我希望一些視圖在屏幕邊緣彈回。因此我已經實現了一個viewcontroller和一些子彈跳的子視圖。它已經知道,當視圖到達邊緣時,所有的Framecomparsion方法和出口角度方法都是已知的。但是更新觀點位置的最佳方式是什麼?在未來,矩形也應該反彈,當他們到達海誓山盟時。這是一個很好的方法來更新計劃的計時器中的視圖,還是更好地使用OpenGL

我試圖使用+ [UIView動畫..]方法,它非常有效,但視圖層位置計算很難處理,因爲它的計時計算,當視圖到達屏幕邊緣時。

比我試圖用一個計劃的計時器更新屏幕,就像這樣:[NSTimer scheduledTimerWithTimeInterval:1/30 target:self selector:@selector(render)userInfo:nil repeatats:YES]; //如果可能的話,30幀/秒b 但是我只是不知道它是否是一個很好的方法,因爲我認爲電池會被耗盡太多,對吧?

到目前爲止還沒有學習OpenGL,但我可能會非常接近,對不對?

您認爲什麼是解決此問題的最佳方法?如果OpenGl是最好的方法,是否有一個很好的教程,你可以建議(我知道,有很多,goolge是我的朋友,但我想知道你)。

+0

您可能想看看SpriteKit,它專門用於這些類型的東西:移動屏幕周圍的許多元素,檢測碰撞等。警告:SpriteKit僅在iOS 7中可用。 – fzwo

+1

您可以有一個在iOS7中查看UIKit Dynamics,使用UIKit Dynamics,它很容易模擬物理反彈 – Joiningss

+0

謝謝你們,但是也有iOS 6的一種方式。我也想支持該版本。 – NicTesla

回答

0

感謝Vincents的評論,我結束了他的建議「我認爲你應該嘗試使用CADisplayLink。 - Vincent」!我子類的GLKView並在

- (void)glkView:(GLKView *)view drawInRect:(CGRect)rect { 

    glClearColor(1.0, 1.0, 1.0, 1.0); 
    glClear(GL_COLOR_BUFFER_BIT); 


    [self updateViewPositions]; 
} 

對於那些誰也與解決方案在iOS 6掙扎,下直接處理復位(min是iOS 5中),我發現this教程,GLKView!

相關問題