2011-06-28 8 views
2

私は4/3の比率で動作するcocos2Dアプリケーションを持っていて、スクリーン側に黒いバーを表示せずにアスペクト比を維持するためにビューのサイズを変更するフルスクリーンモードにします。アプリはフルスクリーンに入ったときので、私はこれを行う:ウィンドウ内にMacGLViewを中心にする

NSRect aFrame=[[NSScreen mainScreen] frame]; 
[glView_ setFrameSize:NSMakeSize(aFrame.size.width,aFrame.size.height*1.2)]; 

私は広いフルスクリーンだ。この方法が、(私が望んでいたとして)比率はそのままです。私の問題は、glviewがスクリーンの中央にないことです。それは左下点から伸びるので、私のゲームは不均等にクリップされました(すべてのクリッピングは一番上に行われます)。私は[glview setFrameOrigin]と同様のものを使用して、ビューの可視部分を選択することを試みました。

私はちょうど一定の数のピクセルを下に移動して全体ビューの中央領域を表示したいと思う。出来ますか?。

アドバイスありがとうございます。

答えて

0

glView_の寸法は変更されていますが、原点は変更されていません。

NSRect aFrame=[[NSScreen mainScreen] frame]; 

CGFloat x = 0.0f; 
CGFloat y = aFrame.size.height; 
CGFloat width = aFrame.size.width; 
CGFloat height = aFrame.size.height * 1.2f; 

glView_.frame = NSRectFromCGRect((CGRectMake(x, y/2 - height/2, width, height)); 
+0

素晴らしい!どうもありがとうございました。それは完全に動作します。最後の行を 'glView_.frame = NSRectFromCGRect(CGRectMake(x、y/2 - height/2、width、height));に変更しなければなりませんでした。 – rmvz3

+0

ああ、そうです。ええ、それについて申し訳ありません。ココスの土地で時間が長すぎます。更新しました。 –

関連する問題