加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-14 20:03:19 所属栏目:百科 来源:网络整理
导读:在游戏开发,有些常用操作,本文介绍两种较为简单,易用的操作 1.给精灵设置颜色 给sprite设置颜色可以使用setColor函数,例如将一个sprite设置为红色: sprite-setColor(Color3B::RED); 如果在设置后需要恢复原来的颜色,可以进行如下设置: sprite-setColo

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

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。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读