CCSprite精灵类
精灵:游戏主角、主角使用的武器,敌人以及敌人使用的武器,发出的子弹等等。这些具有一定2D区域范围、不断在屏幕上变化位置的对象都可以归为游戏角色。不论是背景还是角色,其实质都是被绘制到屏幕上的图像内容,或者是图像的一部分内容。对于这种独立显示的游戏对象,我们将其定义为“精灵(Sprite)”。
精灵从大小范围来看可以分为两类:
第一类:显示区域非常大的精灵,例如:游戏背景精灵,它将占据游戏的整个屏幕大小,有时一个可以移动的游戏背景,其大小远远超出游戏屏幕的尺寸大小。
第二类:比较小的精灵,例如:游戏在飞行的小鸟、飞机、子弹,他们都是独立的精灵,他们的区域只占屏幕的很小一部分。
精灵从状态区分可以分为两类:
第一类:有些精灵绘制的内容是固定大小固定内容,我们称这些为静态精灵,比如游戏中出现的飞机,只需要一张飞机图片就可以表现飞机的身体,不需要有任何动态效果。
第二类:有些不断更新内容或者不断进行变换显示内容的动态精灵,比如小鸟,就需要不断更新每一次显示的画面内容,因为小鸟在飞行时是需要挥动翅膀的,这种挥舞的动作需要使用多个图片连续播放来表现。
x引擎生成精灵对象最常用的有以下两种方法:
CCSprite* pSprite = CCSprite::create("menu_bg.png");
直接使用CCSprite类提供的create方法,参数为精灵需要使用的图片名称,这个方法会自动生成一个CCTexture2D纹理对象(纹理对象实际上就是一张PNG或者JPG等格式的图片,x引擎将其放在内存中,此时内存中的图片就叫做纹理,英文为Texture),然后使用此纹理对象的全部区域作为精灵的显示内容。
CCSprite* pSprite = CCSprite::create("menu_bg.png", CCRectMake(0,0,480,320));
这种方法与前面方法不同的地方在于,它可以通过CCRectMake(0,0,480,320)来指定纹理的显示区域,也就是说它可以把图片进行矩形切割,只使用图片的某一部分内容显示。
,