ios - 制作屏幕 'Edges' (Cocos2D)

标签 ios cocos2d-iphone box2d

我是 Cocos2D 的新手,我想知道如何为我的游戏制作屏幕边缘/边框,以便角色不会掉出屏幕。我在某处读到,你可以通过 Cocos2D 或 Box2D 来完成此操作,我不在乎我使用哪一个,但我只是不知道从哪里开始。我只需要设备顶部和底部的边缘。如果这些值没有被硬编码,那就太好了,因为这将是一个通用应用程序。

另外,当我实际制作边框时,阻止角色走出屏幕的真正方法是什么?我应该将重力设置为关闭还是0?

有谁知道我该如何继续这样做?

我真的很难弄清楚这个问题!

谢谢!!!

最佳答案

如果您的游戏使用 quartz ,那么您拥有的每个 UI 对象都应该有一个边界框。可以通过类似于以下代码的方式进行访问。

UIImage *hero = [[UIImage alloc]initWithImage:image];

CGRect heroBoundingBox = hero.frame;

游戏所在的 UIViewController 也将有一个边界框。检查英雄是否在屏幕上的最简单方法是使用 CGRectContainsRect。

UIImage *hero = [[UIImage alloc]initWithImage:image];

CGRect heroBoundingBox = hero.frame;

CGRect screenBoundingBox = viewController.frame;

bool heroOnScreen = CGRectContainsRect(screenBoundingBox, heroBoundingBox);

然后只需设置一些代码,如下所示:

if (heroOnScreen) {
    //continue moving hero
} else {
    //move hero back on screen
}

在没有看到任何示例代码或不了解更多有关其工作原理的情况下,很难说出您需要为此做什么。希望这会有所帮助。

关于ios - 制作屏幕 'Edges' (Cocos2D),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7855959/

相关文章:

objective-c - 使用游戏中心发送和接收字符串

iphone - 如何在cocos2d中创建按钮?

ios - 验证用户身份的地方-游戏中心

ios - UIImages 像 Instagram 应用程序一样滚动

javascript - Skrollr 在 IOS 中不起作用,尽管我已经用 Skrollr Body 包裹了 body

javascript - 如何在 Box2D 中将 body 粘在地面上?

java - libGDX 正交相机 View 尺寸(使用 Box2D)

iphone - 为什么这个C++(cocos2d,box2d)例子给出的是指针而不是值?

ios - 在 iOS 上创建一个类似 "Slide to power off"的 slider

ios - 在没有 contentView 框架的情况下计算 UITableViewCell 高度的最佳方法