在cocos2d之前,我的背景非常大。 320x9999(或其他)。但它加载了,它创造了一个非常大的幻觉。 Cocos2d的图像尺寸有限制,因此我被迫将图像切割成33个不同的背景图像,每个图像的尺寸为320x480。
了解内存在iOS平台上是一个大问题,我决定创建2个后台CCSprites: CCSprite * background1,* background2; Background2 ontop of background1。
使用这两个背景,当Jet向上移动屏幕时,每个背景将以相同的速率向下移动到屏幕上。当第一个background1完全从屏幕上移开时,它会被释放回内存并重新启动精灵加载到background1中,然后background1垂直位于background2之上。
当background2离开屏幕时,它会被释放,一个新图像被加载到background2中,它被放置在background1的顶部。
创造持续一致的背景幻觉。
Q值。这看起来像一个有效的方法吗? 问:我怎样才能以编程方式实现这样的目标?我有运动的物理学和一切准备就绪。我只是不确定如何使用Cocos做到这一点。
再次提前感谢!
答案 0 :(得分:0)
我不完全确定你说的是什么,我认为你在谈论交换背景,一个背景变得活跃,另一个背景取下一部分的位置。这不是一种不常见的技术,类似于此的想法在很多方面被使用。 还搜索剪贴图,巨型纹理,图集纹理。
答案 1 :(得分:0)
A1)是的,这是一个有效的方法,这样做几乎很容易做ht ecode就像这样(我可能有一些编程错误,考虑这几乎就像一个psudo代码!):
if(background[1].position.y < 0)
{
[layer removeChild:background[1] cleanup:YES];
background[1] = background [2];
background[2] = [CCSprite SpriteWithFile:"file id"]
background[2].position = ccp(0,480);
[background[2] runAction:[CCMoveBy actionWithDuration:1 position:ccp(0,1)]]
}
A2)如果您只需要一些指南,我会为您提供所需的实现,如果您的意思是您不知道如何使用cocos2d-iphone实现plysics的东西,请尝试以下手册:
http://www.raywenderlich.com/457/intro-to-box2d-with-cocos2d-tutorial-bouncing-balls