zoukankan      html  css  js  c++  java
  • cocos2d-x之猜数字游戏

    bool HelloWorld::init()

    {

        if ( !Layer::init() )

        {

            return false;

        }

        

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

        Vec2 origin = Director::getInstance()->getVisibleOrigin();

        srand(time(NULL));//随机种子

        theRandomNum=rand()%100;//0~100之间

        

        log("the randnum is %d",theRandomNum);

        

        buildUI();

        addListeners();

        

        return true;

    }

    void HelloWorld::buildUI(){

        auto label=Label::create();

        label->setString("Please input a number between 0~100");

        addChild(label);

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

        

        tf=TextFieldTTF::textFieldWithPlaceHolder("Input number here","Courier",16);

        tf->setPosition(visibleSize.width/2,label->getPositionY()-50);

        addChild(tf);

        

        submitBtn=Label::create();

        submitBtn->setPosition(visibleSize.width/2,tf->getPositionY()-50);

        submitBtn->setString("Submit");

        addChild(submitBtn);

        

        messageLabel=Label::create();

        messageLabel->setPosition(visibleSize.width/2,submitBtn->getPositionY()-50);

        addChild(messageLabel);

        

    }

    void HelloWorld::addListeners(){

        auto director=Director::getInstance();

        auto handle=[this](Touch* t,Event* e){

            auto target=e->getCurrentTarget();

            auto point=t->getLocation();

            

            if (target->getBoundingBox().containsPoint(point)) {

                if (target==tf) {

                    tf->attachWithIME();

                }else if (target==submitBtn){

                    tf->detachWithIME();

                    int inputValue=__String::create(tf->getString())->intValue();

                    

                    if (inputValue>theRandomNum) {

                        messageLabel->setString("input value is bigger");

                    }else if (inputValue<theRandomNum){

                        messageLabel->setString("input value is smaller");

                    }else{

                        messageLabel->setString("you get it");

                    }

                }

            }else{

                tf->detachWithIME();

            }

            

    //        if (e->getCurrentTarget()==tf) {

    //            tf->attachWithIME();

    //        }else if (e->getCurrentTarget()==submitBtn){

    //            

    //        }else{

    //            tf->detachWithIME();

    //        }

            

            return false;

        };

        

        auto l=EventListenerTouchOneByOne::create();

        l->onTouchBegan=handle;

        director->getEventDispatcher()->addEventListenerWithSceneGraphPriority(l,tf);

        

        auto submitBtnClickListener=EventListenerTouchOneByOne::create();

        submitBtnClickListener->onTouchBegan=handle;

        director->getEventDispatcher()->addEventListenerWithSceneGraphPriority(submitBtnClickListener,submitBtn);

    }

  • 相关阅读:
    cookie记住密码功能
    jquery 实现邮箱输入自动提示功能
    忘记密码功能的安全实现(邮件方式)
    java 实现从15位~18位的身份证号码转换,校验中国大陆公民身份证、香港居民身份证、澳门身份证和台湾身份证。
    myeclipse中发送邮件出现Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream
    几种任务调度的 Java 实现方法与比较
    CentOs中mysql的安装与配置
    CentOs下jdk的安装
    linux中vi编辑器的使用
    Linux文件结构及基本文件夹
  • 原文地址:https://www.cnblogs.com/daochong/p/5261187.html
Copyright © 2011-2022 走看看