zoukankan      html  css  js  c++  java
  • 场景切换的效果

    在上次的场景切换中增加代码,并在res中添加一个图片,作为第一个场景中的图片

     HelloWorldScene.cpp中的  

    bool HelloWorld::init()

    {

        //////////////////////////////

        // 1. super init first

        if ( !Layer::init() )

        {

            return false;

        }

       

        /**

         * 以下代码实现的是切换场景的目的,

         * 点击文本框中的字体时,切换场景,有图片

         */

        //获得可见区域的大小

        Size visibleSize = Director::getInstance()->getVisibleSize();

       

        //在第一个场景中添加图片,为了能够看得出场景切换时的效果

        Sprite *bg = Sprite::create("bird.jpg");

        bg->setPosition(Point(visibleSize.width / 2, visibleSize.height / 2));

        addChild(bg);

       

       

        //添加文本框,文本内容,字体种类,字体的大小

        LabelTTF *label = LabelTTF::create("show next scene", "Courier", 36);

        addChild(label);//将文本添加到层中

        //将文本放在中间

        label->setPosition(visibleSize.width/2, visibleSize.height/2);

       

        //为label设置事件监听器

       

        // 1.创建监听器

        EventListenerTouchOneByOne *listener = EventListenerTouchOneByOne::create();

        // 2.让listener->onTouchBegan 指向一个要执行的闭包函数

        //[捕获label变量]

        listener->onTouchBegan = [label](Touch *t, Event *e){

           

            //判断,label->边界.包括(触摸点),说明点击的是label,则执行一个新的Scene

            if (label->getBoundingBox().containsPoint(t->getLocation())) {

    //            //运行新创建的场景

    //            Director::getInstance()->replaceScene(ImageScene::createScene());

               

                //设置场景切换的效果,1秒后场景消失

                Director::getInstance()->replaceScene(TransitionFadeBL::create(1, ImageScene::createScene()));

            }

            return false;

        };

        // 3.添加事件监听器

        //参数(监听器,节点即要监听的节点)

        Director::getInstance()->getEventDispatcher()->addEventListenerWithSceneGraphPriority(listener, label);

       

       

        return true;

    }

  • 相关阅读:
    GIT SSH免登录密码实现更新(git pull)、推送(git push)操作
    Gulp新手入门教程
    常见的反爬虫的方式
    retrying模块的使用
    通过pyppeteer来爬取今日头条
    Selenium详解
    scrapy框架来爬取壁纸网站并将图片下载到本地文件中
    Elasticsearch简介
    使用scrapy框架来进行抓取的原因
    python(三):面向对象--类和实例
  • 原文地址:https://www.cnblogs.com/dudu580231/p/4373555.html
Copyright © 2011-2022 走看看