cocos2d-xのスクロールビュー(ScrollView)のスクロール方向を設定するsetDirectionメソッドのスクロールさせない設定(Direction::NONE)が利かない。
以下の修正が必要となる。
CCScrollView.cppのonTouchMovedメソッド内
if (_direction == Direction::VERTICAL) のIF文(763行目あたり)に以下の記述を追加
else if (_direction == Direction::NONE)
{
}
2020年5月13日水曜日
2020年4月17日金曜日
cocos2d-x Androidのナビゲーションバーを表示させる
cocos2d-xでは Ver3.12以降でナビゲーションバー(画面下部にあるホームボタンや戻るボタンが表示されている領域)が非表示になっている。
これを常時表示状態にするには以下の修正が必要となる。
ver4.0で確認しているが、3系でも同様の修正でOKだと思われる。
libcocos2dx→java→org.cocos2dx.lib→Cocos2dxActivity.java
333行目あたりのSYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
335行目あたりのSYSTEM_UI_FLAG_HIDE_NAVIGATION
の部分をコメントアウトする。
========
final Object[] parameters = new Object[]{SYSTEM_UI_FLAG_LAYOUT_STABLE
//コメントアウト | SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
//コメントアウト | SYSTEM_UI_FLAG_HIDE_NAVIGATION // hide nav bar
| SYSTEM_UI_FLAG_FULLSCREEN // hide status bar
| SYSTEM_UI_FLAG_IMMERSIVE_STICKY};
========
これを常時表示状態にするには以下の修正が必要となる。
ver4.0で確認しているが、3系でも同様の修正でOKだと思われる。
libcocos2dx→java→org.cocos2dx.lib→Cocos2dxActivity.java
333行目あたりのSYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
335行目あたりのSYSTEM_UI_FLAG_HIDE_NAVIGATION
の部分をコメントアウトする。
========
final Object[] parameters = new Object[]{SYSTEM_UI_FLAG_LAYOUT_STABLE
//コメントアウト | SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
//コメントアウト | SYSTEM_UI_FLAG_HIDE_NAVIGATION // hide nav bar
| SYSTEM_UI_FLAG_FULLSCREEN // hide status bar
| SYSTEM_UI_FLAG_IMMERSIVE_STICKY};
Cocos2d-x マルチタップを無効にする方法(Android)
cocos2d-xはAndroidだけなぜかマルチタップができてしまう。
無効にするには以下の修正が必要となる。
なお、ver4.0で確認しているがこれより古い3系でも同様の対処でOKだと思われる。
libcocos2dx→java→org.cocos2dx.lib→Cocos2dxGLSurfaceView.java
228行目あたりのswitch文「case MotionEvent.ACTION_POINTER_DOWN:」の部分を全てコメントアウトにする
無効にするには以下の修正が必要となる。
なお、ver4.0で確認しているがこれより古い3系でも同様の対処でOKだと思われる。
libcocos2dx→java→org.cocos2dx.lib→Cocos2dxGLSurfaceView.java
228行目あたりのswitch文「case MotionEvent.ACTION_POINTER_DOWN:」の部分を全てコメントアウトにする
switch (pMotionEvent.getAction() & MotionEvent.ACTION_MASK) {
/*
case MotionEvent.ACTION_POINTER_DOWN:
final int indexPointerDown = pMotionEvent.getAction() >> MotionEvent.ACTION_POINTER_INDEX_SHIFT;
if (!mMultipleTouchEnabled && indexPointerDown != 0) {
break;
}
final int idPointerDown = pMotionEvent.getPointerId(indexPointerDown);
final float xPointerDown = pMotionEvent.getX(indexPointerDown);
final float yPointerDown = pMotionEvent.getY(indexPointerDown);
this.queueEvent(new Runnable() {
@Override
public void run() {
Cocos2dxGLSurfaceView.this.mCocos2dxRenderer.handleActionDown(idPointerDown, xPointerDown, yPointerDown);
}
});
break;
*/
case MotionEvent.ACTION_DOWN:
2015年2月12日木曜日
cocos2d-xでPIE disabledというWarningの消し方
cocos2d-x(ver3.2)でiOSアプリを開発中にXcodeでビルドしたら以下のようなWarningが発生しました。
Apple Mach-O Linker Warning
PIE disabled. Absolute addressing (perhaps -mdynamic-no-pic) not allowed in code signed PIE …
このワーニングの消し方を調べましたので備忘録も兼ねて記載しておきます。
PROJECTを選択して→Build Settings→Linking
Don’t Create Position Independent Executablesを『YES』にします。
これで再度ビルドすればワーニングは消えます。
Apple Mach-O Linker Warning
PIE disabled. Absolute addressing (perhaps -mdynamic-no-pic) not allowed in code signed PIE …
このワーニングの消し方を調べましたので備忘録も兼ねて記載しておきます。
PROJECTを選択して→Build Settings→Linking
Don’t Create Position Independent Executablesを『YES』にします。
これで再度ビルドすればワーニングは消えます。
2015年2月9日月曜日
cocos2d-x(v3.2)でARC対応
cocos2d-x(ver3.2)のXcodeでの(iOS版)ARC対応のやり方を備忘録として記載しておきます。
プロジェクトを選択してPROJECT→Buil Settings
Objective-C Auto matic Reference Counting を「YES」にする
プロジェクトを選択してTARGETS→Build Phases→Compile Sources
以下の2ファイルのCompiler Flagsを「-fno-objc-arc」とする
・RootViewController.mm
・main.m
AppController.mmの以下の箇所を修正
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions の中にある・・・
cocos2d::GLView *glview = cocos2d::GLView::createWithEAGLView((__bridge_retained void *)eaglView);
//cocos2d::GLView *glview = cocos2d::GLView::createWithEAGLView(eaglView);
以下はコメントアウト
/*
- (void)dealloc {
[window release];
[super dealloc];
}
プロジェクトを選択してPROJECT→Buil Settings
Objective-C Auto matic Reference Counting を「YES」にする
プロジェクトを選択してTARGETS→Build Phases→Compile Sources
以下の2ファイルのCompiler Flagsを「-fno-objc-arc」とする
・RootViewController.mm
・main.m
AppController.mmの以下の箇所を修正
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions の中にある・・・
cocos2d::GLView *glview = cocos2d::GLView::createWithEAGLView((__bridge_retained void *)eaglView);
//cocos2d::GLView *glview = cocos2d::GLView::createWithEAGLView(eaglView);
以下はコメントアウト
/*
- (void)dealloc {
[window release];
[super dealloc];
}
*/
登録:
コメント (Atom)




