Cocos2d-x初入学堂-->CCSprite基本处理(2)

来源:未知 责任编辑:智问网络 发表时间:2013-11-08 08:44 点击:

一个游戏,我们的游戏背景、UI背景....等等都会需要用到精灵,自然我们游戏中的role、npc、门动画等是必定会用到精灵的...

估计看过我前面的环境搭建和图形绘制,应该很清楚一个新工程的创建了,如果还在创建新工程上出现问题的问题,请参看前面的文章...

照样上传demo代码...

SpriteTestScene.h

[cpp] 
#pragma once 
#include "cocos2d.h" 
#include "SpriteTestLayer.h" 
using namespace cocos2d; 
 
class SpriteTestScene :public CCScene 

public: 
    SpriteTestScene(void); 
    ~SpriteTestScene(void); 
    static CCScene* scene(); 
}; 

SpriteTestScene.cpp

[cpp] 
#include "SpriteTestScene.h" 
 
 
SpriteTestScene::SpriteTestScene(void) 


 
 
SpriteTestScene::~SpriteTestScene(void) 


 
CCScene* SpriteTestScene::scene() 

    CCScene* scene=CCScene::create(); 
    SpriteTestLayer* layer=SpriteTestLayer::create(); 
    scene->addChild(layer); 
    return scene; 

SpriteTestLayer.h

[cpp] 
#pragma once 
#include "cocos2d.h" 
using namespace cocos2d; 
 
class SpriteTestLayer :public CCLayer 

public: 
    SpriteTestLayer(void); 
    ~SpriteTestLayer(void); 
    // 这个方法从父类虚拟函数继承过来,在创建HelloWorld层的时候会调用此方法 
    virtual bool init();   
    LAYER_CREATE_FUNC(SpriteTestLayer); 
private: 
    typedef CCSprite* CCSPRITE; 
    CCSPRITE m_tamara,m_grossini,m_kathia; 
}; 

SpriteTestLayer.cpp

[cpp]
#include "SpriteTestLayer.h" 
 
 
SpriteTestLayer::SpriteTestLayer(void) 


 
bool SpriteTestLayer::init() 

    CCSize s=CCDirector::sharedDirector()->getWinSize(); 
    /*注意:此处的图片加入,请不要直接copy到工程这个工程的resource下面, 运行的时候是获取不到图片的,
      工程目录下的资源和工程路径目录下的资源不是同一资源,然后我在工程路径目录下copy新资源到resource下
      面,然后刷新工程,也刷新不出新添加的图片出来,暂时不知道这是为什么?如果有知道的朋友请给我留言...谢谢!*/ 
     
    CCSprite* sprite=CCSprite::create("start.png"); 
    sprite->setAnchorPoint(ccp(0,1));//设置sprite的描点,(0,1)也就是图片的左上角 
    sprite->setPosition(ccp(0,s.height));//设置sprite位置 
    this->addChild(sprite); 
 
    //sprite的一些基本的操作:缩放、旋转、混色 
    m_tamara=CCSprite::create("grossini.png"); 
    m_tamara->setScaleX( 2.5f); 
    m_tamara->setScaleY( -1.0f); 
    m_tamara->setPosition(ccp(100,70) ); 
    m_tamara->setOpacity( 255);//RGBA值RGB+透明度值 
    this->addChild(m_tamara); 
 
    m_grossini=CCSprite::create("grossinis_sister1.png"); 
    m_grossini->setRotation( 120); 
    m_grossini->setPosition( ccp(s.width/2, s.height/2)); 
    m_grossini->setColor( ccc3( 255,0,0)); 
    this->addChild(m_grossini); 
 
    m_kathia=CCSprite::create("grossinis_sister2.png"); 
    m_kathia->setPosition( ccp(s.width-100, s.height/2)); 
    m_kathia->setColor( ccBLUE); 
    this->addChild(m_kathia); 
 
    return true; 

SpriteTestLayer::~SpriteTestLayer(void) 


然后同样的最后:修改AppDelegate.cpp中的applicationDidFinishLaunching()方法中

  //CCScene *pScene = HelloWorld::scene();
 CCScene*pScene=SpriteTestScene::scene();

 pDirector->runWithScene(pScene);

好了,运行效果如下:

 

    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • cocos2d-x学习笔记(19)--label 、label atlas
    • cocos2d-x学习笔记(23)--地图的使用3--CCTMXLayer
    • Cocos2d-x学习(一):HelloWorld
    • cocos2dx在xcode下开发,编译到android上(2)
    • cocos2d 设置屏幕默认方向
    • Cocos2d-x 2.0 之 Actions “三板斧” 之一
    • cocos2d-x学习笔记(22)--地图的使用2(TMX) --Z-Order、AnchorPoi
    • cocos2d-x学习笔记(18)--游戏打包(windows平台)
    • cocos2d-x学习笔记(16)--spritesheet(精灵表单)
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1