2011-12-15 6 views
0

なぜそれが最もうまくいくのか理解できませんが、時には触れることができません。 iad/admobが読み込まれたときにバグが表示されることがあります。cocos2dメニューのccspriteボタンに手を触れることができない場合があります

mnResume=[CCMenuItemImage itemFromNormalImage:@"bt_ps_continue.png" selectedImage:@"bt_ps_continue.png" target:self selector:@selector(menuResume)]; 
mnStore = [CCMenuItemImage itemFromNormalImage:@"bt_ps_havearest.png" selectedImage:@"bt_ps_havearest.png" target:self selector:@selector(menuStore)]; 
mnExit=[CCMenuItemImage itemFromNormalImage:@"bt_ps_endgame.png" selectedImage:@"bt_ps_endgame.png" target:self selector:@selector(menuExit)]; 
//mnResume.anchorPoint=ccp(1,0); 
//mnExit.anchorPoint=ccp(0,0); 
mnResume.position=ccp(size.width*.5,180); 
mnStore.position=ccp(size.width*.5,120); 
mnExit.position=ccp(size.width*.5,60); 
menu = [CCMenu menuWithItems:mnResume,mnStore,mnExit, nil]; 
//menu = [CCMenu menuWithItems:nil]; 
menu.position=ccp(0,0); 
[self addChild:menu]; 

答えて

0

私がCCMenuについて理解していることは、CCMenuItemの位置を決して変更しないことです。それ以外の場合は、メニュー項目のグラフィックスが重なり合わず、タッチして反応しないという印象を与えます。正しく)。

各メニュー項目を個別に配置する必要がある場合は、各メニュー項目をCCMenuノードにラップし、CCMenuノードの位置のみを変更します。

+0

いいえ、メニューやメニューを伴うアニメーションではありません。それは毎回表示されません。それはまれです。 – zszen

0

それはおそらく何か他のもの(目に見えないでも何かが)倍でタッチイベントを傍受されることを示唆している断続的にロードしているという事実:ちょうどこのよう

。広告ユニット(または他のオンスクリーンコントロール)のフレームがCCMenuItemと重複していないことを確認します。

+0

どのフレームにタッチしたのを確認できますか? – zszen

+0

これは、あなたが行きたいウサギの穴までの距離に応じて、難しい場合があります。 1つの方法は、タッチされたときにその状態を報告するすべてのオンスクリーン要素にタッチハンドラを適用することである。別の(よりエレガントな、おそらく)手段は、[DCIntrospect](https://github.com/domesticcatsoftware/DCIntrospect) –

+0

thxのようなツールを試すことであるかもしれない、私はuse cocos2dを開発している。私は後で試してみる。 – zszen

0

ユーザインタラクティブオブジェクトのリンゴが推奨する最小サイズは、ユーザインタフェースのガイドラインに従って44x44です。オブジェクトのサイズが小さい場合は、ユーザーの接触精度に欠けています。この場合、オブジェクトのサイズを大きくする必要があります。

+0

いいえ、いいえ、できません。私が理解できるこの知識。しかし、時にはメニュー項目は何もフィードバックすることができません。セレクタをアクティブにすることはできません。 – zszen

関連する問題