天天看点

cocos2dx-3.x 精灵设置颜色以及动作速度调整

在游戏开发,有些常用操作,本文介绍两种较为简单,易用的操作

1.给精灵设置颜色

给sprite设置颜色可以使用setColor函数,例如将一个sprite设置为红色:

sprite->setColor(Color3B::RED);
           

如果在设置后需要恢复原来的颜色,可以进行如下设置:

sprite->setColor(Color3B(255,255,255));
           

2.动作速度调整

游戏开发中,经常会遇见需要调整sprite的速度,因为cocos中action的概念,实际上我们是是给sprite所拥有的action设置速度。能够设置速度的action在创建的时候需要使用如下方式:

以一个例子说明,我们先让sprite从屏幕左边移动到屏幕右边:

先创建一个精灵:

sprite->setPosition(Vec2(origin.x, visibleSize.height + origin.y));
           

将精灵放到屏幕左上角

再创建一个动作从左上角到由上角:

auto a1 = MoveTo::create(2, Vec2(origin.x + visibleSize.width,visibleSize.height + origin.y));
           

此时创建一个speed动作:

auto action = Speed::create(a1, 1.0f);
           

给这个动作设置一个tag,方便后面获取:

action->setTag(111);
           

此时一个speed动作已经创建好了,当我们需要进行动作设置时,比如加快这个sprite的速度:

auto action1 = static_cast<Speed*>(sprite->getActionByTag(111));
action1->setSpeed( 3 );
           

先根据tag获取到这个sprite拥有的动作,然后使用setSpeed设置速度。

ps.有个很好玩的地方,如果将setSpeed里面的值设置为负数,则动作会reverse。

继续阅读