我是 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/