finish() не работает для диалога

finish() не работает для диалога

Postby AntonVeselskyi » Tue Nov 28, 2017 12:31 pm

Была игра не юзавшая flow, нужно было добавить диалог.

Добавил класс:
Code: Select all
class LevelDialog : public flow::Scene
{
private:

public:
   LevelDialog()
   {
      setName("LevelDialog");

      _dialog = true;

      _view = new Box9Sprite;
      _view->setSize(400, 300);
      _view->attachTo(_holder);
      _view->setPosition(_holder->getSize() / 2 - _view->getSize() / 2);

      lvl1_button = new Button;
      lvl1_button->setPosition(100, 200);
      lvl1_button->attachTo(_view);

      lvl1_button->addEventListener(TouchEvent::CLICK, [=](Event* ev)
      {
         finish();
      });
   spActor _view;
   spButton lvl1_button;
};



И вызвал метод show в процессе игры:
Code: Select all
LevelDialog * dlg = new LevelDialog;

   flow::show(dlg, [=](Event*)
   {
      //result callback here
      log::messageln("dialog closed");
   });


После нажатия кнопки код
Code: Select all
{
   finish();
}

выполняется, но диалог не закрывается.

В чем проблема?
AntonVeselskyi
 
Posts: 8
Joined: Tue Nov 28, 2017 10:30 am

Re: finish() не работает для диалога

Postby admin » Tue Nov 28, 2017 1:29 pm

на вид все корректно, не вижу тут ошибки, flow::update вызываешь?
User avatar
admin
Site Admin
 
Posts: 770
Joined: Mon Oct 21, 2013 6:47 pm

Re: finish() не работает для диалога

Postby AntonVeselskyi » Wed Nov 29, 2017 11:45 am

admin wrote:на вид все корректно, не вижу тут ошибки, flow::update вызываешь?


flow::update() решило проблему :D
вызывал getStage()->update();

Спасибо за быстрый ответ.
Движок классный!
AntonVeselskyi
 
Posts: 8
Joined: Tue Nov 28, 2017 10:30 am


Re: finish() не работает для диалога

Postby romanze » Tue Jan 09, 2018 4:44 am

romanze
 
Posts: 3
Joined: Tue Jan 09, 2018 4:23 am


Return to oxygine-flow

Who is online

Users browsing this forum: No registered users and 1 guest

cron