在 cocos2d-x ios 的 UITestFieldTest 中使用未声明的标识符

Use of undeclared Identifier in UITestFieldTest in cocos2d-x ios

我对 cocos2d-x.I 非常陌生,我正在开发我正在使用的身份验证屏幕 TextField.I 我在 UITextFieldTest 中遇到错误,因为我使用了未声明的标识符,我在其中将其添加到 eventListener.Am 我遗漏了任何 header files.I 已在下面附上代码。

    TextField* userName = TextField::create("User Name","fonts/Marker Felt.ttf",20);
    userName ->ignoreContentAdaptWithSize(false);
    userName->setPosition(Point((visibleSize.width/2)+origin.x,(visibleSize.height/2)+origin.y+50));
    userName ->setContentSize(Size(240, 160));
    userName ->setTextHorizontalAlignment(TextHAlignment::CENTER);
    userName ->setTextVerticalAlignment(TextVAlignment::CENTER);
   userName->addEventListener(CC_CALLBACK_2(UITextFieldTest::textFieldEvent, this));
    this->addChild(userName);

好吧,这可能是示例被误读的情况,或者更确切地说,示例太短了 - 示例似乎没有显示代码在名为 UITextFieldTest 的 class 中].

为了让它工作,让我们假设你的 class 被称为 MyClass,并且你想在一个名为 userNameTextFieldHandler 的方法中处理文本字段事件,你会需要这样的东西:

userName->addEventListener(CC_CALLBACK_2(MyClass::userNameTextFieldHandler, this));

在你的某处 MyClass class :

void userNameTextFieldHandler(TextField *sender, TextField::EventType type) {

    // your implementation goes here

}

在 header 中导入

#include "ui/CocosGUI.h"

并写下你的 ccp class

   ui::TextField* userName = ui::TextField::create("User Name","fonts/Marker Felt.ttf",20);
            userName ->ignoreContentAdaptWithSize(false);
            userName->setPosition(Point((visibleSize.width/2)+origin.x,(visibleSize.height/2)+origin.y+50));
            userName ->setContentSize(Size(240, 160));
            userName ->setTextHorizontalAlignment(ui::TextHAlignment::CENTER);
            userName ->setTextVerticalAlignment(ui::TextVAlignment::CENTER);
           userName->addEventListener(CC_CALLBACK_2(ui::UITextFieldTest::textFieldEvent, this));
            this->addChild(userName);