制作屏幕'边缘'(Cocos2D)

时间:2011-10-21 22:26:41

标签: ios cocos2d-iphone box2d

我是Cocos2D的新手,我想知道如何为我的游戏制作屏幕边缘/边框,以便角色不会掉出屏幕。我在某地读到你可以用Cocos2D或Box2D做到这一点,我不在乎我用哪个,但我不知道从哪里开始。我只需要设备顶部和底部的边缘。如果这些值不是硬编码的话也会很好,因为这将是一个通用的应用程序。

此外,当我实际制作边框时, 停止 字符离开屏幕的真正方法是什么?我应该将重力设置为关闭还是设置为0?

有谁知道我怎么能继续这样做?

我真的在努力解决这个问题!

感谢!!!

1 个答案:

答案 0 :(得分:1)

如果你的游戏是使用石英,那么你拥有的每个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
}

很难说没有看到任何示例代码或了解更多有关其如何工作的信息,您需要做什么。希望这会有所帮助。