精灵类(CCSprite)

Posted on 2013-08-03 17:27  Flex/AS Programmer  阅读(413)  评论(0编辑  收藏  举报

一、对精灵的理解

玩家控制的主角、AI控制的NPC,以及地图上的宝箱、石块,甚至游戏主菜单的背景图片都是精灵。因此,可以这样认为,玩家看到的一切几乎都是由精灵构成的。

精灵不一定是静态的。通常,一个精灵可以不断变化,变化的方式包括:移动、旋转、缩放、变形、显现消失、动画效果(类似GIF动画)等。精灵按照层次结构组合起来,并与玩家互动,构成了一个完整的游戏。

以《捕鱼达人》的游戏场景为例,我们选择动作层,其中包含的主要精灵如图2-3所示。

clip_image001

图2-3 动作层包含的精灵

在Cocos2d-x中,精灵的实现是CCSprite类。

image

image

二、绘制图片

cocos2dx中并没有直接绘制图片的概念,我们一般是使用CCSprite。核心代码如下:

 CCSize winSize=CCDirector::sharedDirector()->getWinSize();
   // Add  a splash screen(启动画面), show the cocos2d splash image.
   CCSprite* pSprite = CCSprite::createe("HelloWorld.png");    
   pSprite->setFlipX(true);    //可以手动设置图形旋转和镜像,而不是使用Action,因为有许多Action是个过程,而不是直接显示结果 
   pSprite->setRotation(90); 
   // Place the sprite on the center of the screen
   pSprite->setPosition(ccp(winSize.width/2, winSize.height/2)); 
 // Add the sprite to HelloWorld layer as a child layer. 
   this->addChild(pSprite, 0); 
 

Copyright © 2024 Flex/AS Programmer
Powered by .NET 8.0 on Kubernetes