cocos2dx-3.10 c++ 版实现滚动数字效果实现

废话不多说,先上代码

NumberScroller.h

#ifndef _NUMBERSCROLLER_H_
#define _NUMBERSCROLLER_H_

#include "cocos2d.h"
USING_NS_CC;

/*
    这是一个数字滚动切换控件
    更新方向:
    1.在规定时间运动完,速度在变化
    2.能指定字体表
    3.增加新的更新算法,确保运动到指定数时候可以及时完成
    4.添加能够指定宽和高以及数字之间的间隔
*/
class NumberColumn : public Node{
private:
    NumberColumn();
public:
    static NumberColumn* create(int fontHight);
    void setNumber(int number,bool direction=true);
    void setTime(float time);
private:
    bool init(int fontHight);
    void update(float delta);
private:
    Node* m_numbers;        //当前显示节点
    int m_cur_num;          //当前显示数字
    int m_target_num;       //目标显示数组
    int m_fontHight;        //当个字体高度

    float m_time;           //切换总时间

    float update_moveSum;  //几率在两个数字更新期间移动的距离
    float update_speed;    //刷新一次的时间
};



class NumberScroller : public Node{
private:
    NumberScroller();
public:
    static NumberScroller* create(int length,int fontWidth,int fontHeight,int fontSpacing);
    void setTime(float time);
    void setNumber(int number);
    int getNumber();
private:
    bool init(int
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值