我是Cocos2D的新手,我想知道如何为我的游戏制作屏幕边缘/边框,以便角色不会掉出屏幕。我在某地读到你可以用Cocos2D或Box2D做到这一点,我不在乎我用哪个,但我不知道从哪里开始。我只需要设备顶部和底部的边缘。如果这些值不是硬编码的话也会很好,因为这将是一个通用的应用程序。
此外,当我实际制作边框时, 停止 字符离开屏幕的真正方法是什么?我应该将重力设置为关闭还是设置为0?
有谁知道我怎么能继续这样做?
我真的在努力解决这个问题!
感谢!!!
答案 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
}
很难说没有看到任何示例代码或了解更多有关其如何工作的信息,您需要做什么。希望这会有所帮助。