【Cocos2d-x制作别踩白块儿】第九期:游戏计时功能(附源码)[小鱼游戏开发]

【Cocos2d-x制作别踩白块儿】第九期:游戏计时功能(附源码)由小鱼游戏开发精心整理,并分享给大家。喜欢该资源的小伙伴请下载使用,注册、回复、每日签到、点赞送大量积分,满足您免费下载的愿望

游戏没有计时,不是坑爹吗?

这一期,我们将来添加游戏计时功能。

 

1. 定义变量和函数

我们先在HelloWorldScene.h中定义几个变量和函数

    long startTime;
    bool timeRunning;

startTime用来记录开始的时间,timeRunning用来判断游戏是否在进行中。

 

    //开始计时
    void startTimer();

    //结束计时
    void stopTimer();

    virtual void update(float dt);

startTimer()函数时开始计时,stopTimer()函数是结束计时,update()函数是每帧都调用。

 

2. 具体实现三个函数

然后,我们来看看这三个函数的具体实现

void HelloWorld::update(float dt)
{
    long offset = clock()-startTime;

    timerLabel->setString(StringUtils::format("%g",((double)offset)/1000000));
}

//开始计时
void HelloWorld::startTimer()
{
    if(!timeRunning)
    {
        scheduleUpdate();
        startTime = clock();
        timeRunning = true;
    }
}

//结束计时
void HelloWorld::stopTimer()
{
    if(timeRunning)
    {
        unscheduleUpdate();
        timeRunning = false;
    }
}

startTimer()函数先判断是否正在计时,如果没有的话,先调用update函数。

stopTimer()函数先判断是否正在计时,如果有的话,就卸载update。

update函数用来计算时间差,并且显示出来。

 

3. 调用函数

当然,实现函数后,就要调用。那么在哪里调用呢?

当然是在点击黑色块后调用startTimer,点击绿色块后调用stopTimer。

                                if(b->getColor()==Color3B::BLACK)
                {
                    b->setColor(Color3B::GRAY);
                    this->moveDown();
                    this->startTimer();

                }
                else if(b->getColor()==Color3B::GREEN)
                {
                    this->moveDown();
                    this->stopTimer();
                }

 

4. 运行项目

运行项目后,效果如下

【Cocos2d-x制作别踩白块儿】第九期:游戏计时功能(附源码)

 

5. 产生真正的随机数

效果运行多了,你会发现,其实黑色方块并不是随机出现,而是经常出现在同一个位置。这时候,我们需要添加一行代码

srand(time(NULL));

这样子,就能让随机数真正的随机产生了。

 

6. 修改分辨率

看到运行项目后,窗口有点大,其实是分辨率的问题。在3.0正式版中,修改分辨率不再是在main函数中直接修改了,可以添加如下两行代码在AppDelegate中

    glview->setFrameSize(320,480);
    glview->setDesignResolutionSize(320,480,ResolutionPolicy::SHOW_ALL);

 

记得要添加在如下代码的后面

    if(!glview) {
        glview = GLView::create("My Game");
        director->setOpenGLView(glview);
    }

这时候,我们再来运行一下项目,是不是舒服很多了呢?

【Cocos2d-x制作别踩白块儿】第九期:游戏计时功能(附源码)

 

到这里为止,我们游戏的核心功能,就基本完成了。赶紧拿起键盘,来敲敲代码吧。

7. 源码

 

源码直达: http://download.csdn.net/detail/legendof1991/7348941

来源网址:http://blog.csdn.net/legendof1991/article/details/25621025

 

轻松一刻:

女孩问妈妈:“为什么我大腿中间长毛了!”妈妈:“别担心,那里长了个小猴子,现在开始长毛了。”女孩迫切的向姐姐炫耀:“我的小猴子开始长毛了!”姐姐一脸不屑:“那算什么,我的猴子都开始吃香蕉了。”
 下载地址
登录  查看下载地址。

提示:注册,评论,每日签到,点赞可获得积分。

为您推荐

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

联系我们

联系我们

在线咨询: QQ交谈

邮箱: 2805477110@qq.com

周一至周六,8:00-21:00,节假日休息
关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部
切换注册

登录

忘记密码 ?

切换登录

注册