2011-11-08 11 views
1

http://www.cocos2d-iphone.org/forum/topic/6889のコードを使用して、UIViewをCocos2dゲームの画面に追加しています。これは、網膜以外の解像度(すべてが正しく配置されています)で大きく機能しますが、網膜解像度ではUIViewが別の場所に配置されます。私はゲームにビューを追加するために使用していたコードは、基本的には、ウェブサイトからのコードと同じです:CCUIViewWrapperでビューを配置する方法

UIView *myView = [[[UIView alloc] init] autorelease]; 
myView.backgroundColor = [UIColor redColor]; 
CCUIViewWrapper *wrapper = [CCUIViewWrapper wrapperForUIView:myView]; 
wrapper.contentSize = CGSizeMake(100, 100); 
wrapper.position = ccp(50,50); 
[self addChild:wrapper]; 

ビューは、左から非網膜と0PXで下と左の隅からは50px、最大100pxに表示されます網膜に

答えて

1

を網膜モードでラッパーの位置決めがccp(320,0)です。理由は分かりませんが、動作します。

if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)] == YES && [[UIScreen mainScreen] scale] == 2.00) { 
     wrapper.position = ccp(320,0); //Retina 
    } else { 
     wrapper.position = ccp(160,240); //Normal 
    } 
+0

wtf 'ccuiviewwrapper'はポジションgでとても奇妙です... – buildsucceeded

0

CCUIViewWrapper(少なくともフォーラムスレッドの形式で)はCC_CONTENT_SCALE_FACTOR()を使用しません。つまり、Retinaディスプレイには対応していません。あなたが適切に変更されたサイズと位置を供給することによってこの問題を回避することができるかもしれ

、これはあるいは動作しない場合があります。

wrapper.contentSize = CGSizeMake(100 * CC_CONTENT_SCALE_FACTOR(), 
           100 * CC_CONTENT_SCALE_FACTOR()); 
wrapper.position = ccp(50 * CC_CONTENT_SCALE_FACTOR(), 
         50 * CC_CONTENT_SCALE_FACTOR()); 
+0

ありがとうございますが、機能しませんでした。 – Tom

関連する問題