Cocos2d-x 实例源码分析之三 ActionTest ( Manual Transformation )

来源:互联网 发布:荔枝软件下载 编辑:程序博客网 时间:2024/05/16 15:38

前面我们已经讲过了每个小实例的主框架,下面就让我们看一下每个小实例的具体实现。首先,我们要讲的是第一个实例ActionTest里面的第一个小实例Manual Transformation。



显示效果

void ActionManual::onEnter(){ActionsDemo::onEnter();CCSize s = CCDirector::sharedDirector()->getWinSize();//m_tamara,m_grossini,m_kathia是三个sprite,他们在ActionManual的父类ActionsDemo里被初始化//这里只是设置一下他们的一些参数m_tamara->setScaleX( 2.5f);//X轴方向拉伸m_tamara->setScaleY( -1.0f);//Y轴方向拉伸m_tamara->setPosition( ccp(100,70) );//位置m_tamara->setOpacity( 128);          //透明度m_grossini->setRotation( 120);//旋转m_grossini->setPosition( ccp(s.width/2, s.height/2));//位置m_grossini->setColor( ccc3( 255,0,0));//颜色m_kathia->setPosition( ccp(s.width-100, s.height/2));//位置m_kathia->setColor( ccBLUE);//颜色}
我们再来看一下这几个sprite的初始化代码

void ActionsDemo::onEnter(){    CCLayer::onEnter();    // Or you can create an sprite using a filename. only PNG is supported now. Probably TIFF too    m_grossini = CCSprite::create(s_pPathGrossini);    m_grossini->retain();    m_tamara = CCSprite::create(s_pPathSister1);     m_tamara->retain();    m_kathia = CCSprite::create(s_pPathSister2);    m_kathia->retain();    addChild(m_grossini, 1);    addChild(m_tamara, 2);    addChild(m_kathia, 3);//省略部分代码}
这里面用到的s_pPathGrossini,s_pPathSister1,s_pPathSister2是在testResource.h里定义的字符串常量,如果愿意,你可以换成自己的sprite路径。

小实验:

(每篇文章最后都会有个小实验,修改部分代码以增加对代码的理解)

 1、tamara放到屏幕中间、不拉伸、不设置颜色、90度旋转

2、grossini放到屏幕左上方,X轴拉伸、红色

3、kathia放到屏幕右上方,50%透明

代码:

void ActionManual::onEnter(){ActionsDemo::onEnter();CCSize s = CCDirector::sharedDirector()->getWinSize();//m_tamara,m_grossini,m_kathia是三个sprite,他们在ActionManual的父类ActionsDemo里被初始化//这里只是设置一下他们的一些参数m_tamara->setRotation(90);m_tamara->setPosition( ccp(s.width/2, s.height/2) );//位置m_grossini->setScaleX(1.5f);m_grossini->setPosition( ccp(100, s.height-100));//位置m_grossini->setColor(ccRED);//颜色m_kathia->setPosition( ccp(s.width-100, s.height-100));//位置m_kathia->setOpacity(89);}

效果:


原创粉丝点击