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

前面我们已经讲过了每个小实例的主框架,下面就让我们看一下每个小实例的具体实现。首先,我们要讲的是第一个实例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);
}

效果:


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值