Как масштабировать кнопку до ее исходного соотношения сторон? - PullRequest
1 голос
/ 30 мая 2019

В моем приложении для ResolutionPolicy установлено значение EXACT_FIT, поэтому оно покрывает всю область экрана, создавая растянутый пользовательский интерфейс. Есть несколько кнопок, которые были круглыми в исходном соотношении сторон, но теперь они стали овальными по форме. Поэтому я не могу определить масштабный коэффициент, который мне нужно использовать, чтобы сделать их снова круглыми.

Чтобы сделать их круглыми при любом разрешении, мне понадобится соответствующий коэффициент масштабирования в зависимости от ширины и высоты экрана, но я не могу точно это выяснить.

std::string buttonNormalIcon = "menu/back.png";
    std::string buttonPressedIcon = buttonNormalIcon;
    cocos2d::ui::Button* button = ui::Button::create();
    std::string buttonDisabledIcon = buttonNormalIcon;
    if(buttonDisabledIcon.find(".png") != std::string::npos) {
        buttonDisabledIcon = buttonDisabledIcon.insert(buttonDisabledIcon.find(".png"), "_disabled");
    }

// This is the part which needs to be figured out.
float scalingFactor = 1.0;
backButton->setScale(scalingFactor);

Я тоже думал масштабировать по осям X и Y.

Кнопки должны быть круглыми в конечном приложении.

...