我把自己的个人资料放在了风景中:
<activity
android:name="org.cocos2dx.cpp.AppActivity"
android:screenOrientation="landscape"
android:configChanges="orientation|keyboardHidden|screenSize"
android:label="@string/app_name"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
然后我开始游戏并打印原点和可见尺寸。
log("DEBUG: origin = %f, %f", origin.x, origin.y);
log("DEBUG: visibleSize = %f, %f", visibleSize.width, visibleSize.height);
输出为:(BTW,设计分辨率为1024 x 768)
D/cocos2d-x debug info: DEBUG: origin = 0.000000, 75.772583
D/cocos2d-x debug info: DEBUG: visibleSize = 1024.000000, 616.454834
请注意,“back-home-apps”系统栏位于屏幕右侧。我还试图通过将图像的位置设置为(origin.x + visibleSize.width / 2, origin.y + visibleSize.height / 2)
将图像置于屏幕中间,但正如您所看到的,由于可见尺寸和原点错误,图像朝向屏幕的下半部分
我原以为原点应为(0,0),可见尺寸应为(1024 - height-of-system-bar
)x 768.但正如您所见,原点在Y
上有一个增量轴和可见尺寸也会在Y
轴上受到撞击 - 好像Cocos2d-x认为屏幕处于纵向,系统栏位于屏幕底部。
如何告诉cocos2d手机是否横向?
答案 0 :(得分:0)
解决了这个难题。这里有两件事:
我错误地计算了坐标。我实际做的是((origin.x + visibleSize.width / 2), (origin.y + visibleSize.height / 2))
。我错误地输入了这个问题,而不是复制/粘贴代码,因此造成了混乱。
在此修复之后,原点和可见大小仍然不是屏幕大小,这是由我使用NO_BORDER策略引起的(我在问题中未提及)。 Cocos2d放大了内容以填满所有屏幕空间,导致长度超过必要的轴被夹在中间。