cocos2d横向模式下屏幕尺寸问题

发布于 2024-10-07 18:11:10 字数 572 浏览 2 评论 0原文

我的 cocos2d 应用程序在横向模式下遇到这样的问题: 当我添加一个从 CCNode 继承的新对象并将其添加到图层并在该图层之后添加到屏幕时。在横向模式下,X 上的最大位置必须为 480,Y 上的最大位置必须为 320。但是当我的对象坐标位于 (220, 0) 时,它位于 X 上的位置 480。有人知道如何解决这个问题吗?谢谢!

- (void) applicationDidFinishLaunching:(UIApplication*)application
{
    CCScene *scene = [CCScene node];
CCLayer *layer = [CCLayer node];

//layer.anchorPoint = ccp(1, 1);
//layer.contentSize = CGSizeMake(480, 320);

CCSprite *sp = [CCSprite spriteWithFile:@"fon.png"];
[layer addChild: sp];

[scene addChild: layer];
[[CCDirector sharedDirector] runWithScene: scene];
}

I have such a problem in my cocos2d application in landscape mode:
When I'm adding a new object inherited from CCNode and add it to layer and after that layer to screen. The maximum position must be 480 on X and 320 on Y in landscape mode. But my object is in position 480 on X when it coordinates are on (220, 0). Anybody know how to solve this problem?? Thanx!

- (void) applicationDidFinishLaunching:(UIApplication*)application
{
    CCScene *scene = [CCScene node];
CCLayer *layer = [CCLayer node];

//layer.anchorPoint = ccp(1, 1);
//layer.contentSize = CGSizeMake(480, 320);

CCSprite *sp = [CCSprite spriteWithFile:@"fon.png"];
[layer addChild: sp];

[scene addChild: layer];
[[CCDirector sharedDirector] runWithScene: scene];
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

一城柳絮吹成雪 2024-10-14 18:11:10

我认为您误解了坐标。

无论方向如何,x 和 y 在手机上都是相同的。

当手机侧放时,x = y 且 y = x。

试试这个

player1 = [[Player alloc] initWithPosition: CGPointMake(20, 200) )];

I think you are misunderstanding the co-ordinates.

x and y are the same on the phone, regardless of orientation.

When the phone is on its side, x = y and y = x.

Try this

player1 = [[Player alloc] initWithPosition: CGPointMake(20, 200) )];
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文