你好,我想开发一个像“涂鸦跳跃”一样的游戏。但是以下功能有些问题:
1.如何移动背景场景/图像。
2.如何检测物体之间的碰撞。是否需要像box2d这样的物理引擎,还是应该只使用手动碰撞。
3.背景图像的大小应该是多少。
4.实际上我不知道背景是如何移动的。所以我需要有人解释一下。
你好,我想开发一个像“涂鸦跳跃”一样的游戏。但是以下功能有些问题:
1.如何移动背景场景/图像。
2.如何检测物体之间的碰撞。是否需要像box2d这样的物理引擎,还是应该只使用手动碰撞。
3.背景图像的大小应该是多少。
4.实际上我不知道背景是如何移动的。所以我需要有人解释一下。
背景移动 A) 您可以创建一个TMX平铺地图,然后制作一个非常高的平铺地图。 B) 您可以创建一个纹理,然后循环纹理坐标而不是真正地移动它。
手动检测。最好通过“点在边界框内”或“矩形与矩形重叠”来检测。 有关使用cocos2d进行碰撞检测的详细信息,请访问我的博客文章:http://www.anima-entertainment.de/?p=262
图片尺寸 请记住,纹理在内存中始终为2的幂次方。如果您想在视网膜高分辨率(960x640像素)下创建一个背景图像,则内存中的纹理将为1024x1024。如果可能,请使用更小的背景图像并将其拉伸(如512x512)。但我真的建议对于大型滚动图像使用TMX支持。
CCTMXTiledMap * tmxNode = [CCTMXTiledMap tiledMapWithGMXFile:@"Level.tmx"];
// 假设您想在1秒内向下移动50个像素:
[tmxNode runAction:[CCMoveBy actionWithDuration:1.0 position:ccp(0,-50)];
要创建一个平铺地图:http://www.mapeditor.org/
请参考这个教程,它会对你有所帮助。
http://www.raywenderlich.com/2343/how-to-drag-and-drop-sprites-with-cocos2d
这是使用平移识别器进行屏幕移动的。