У меня 2 проблемы при создании программного скина для Canvas.
Первая проблема:
Я хотел бы иметь фон с закругленными углами, и я использую GraphicsUtil.drawRoundRectComplex, чтобы иметь закругленные углы только для двух верхних углов. Проблема в том, что drawRoundRectComplex принимает для каждого угла один единственный параметр - радиус угла. Однако мои коэффициенты scaleX и scaleY различны, и на самом деле углы неправильно закруглены, потому что я могу установить радиус с помощью scaleX или scaleY.
Graphics.drawRoundRect лучше, потому что он принимает два параметра для углов - ширину и высоту эллипса, а затем вы можете применить оба масштабных коэффициента, но это не позволяет мне определять разные радиусы для разных углов.
Я ищу идею, как использовать GraphicsUtil.drawRoundRectComplex, когда scaleX и scaleY отличаются.
Вторая проблема:
Несмотря на то, что я установил свой программный скин с помощью стиля - <> скина updateDisplayList выполняется только один раз, и после этого каким-то образом стиль "backgroundImage" становится "неопределенным", и мой программный скин больше не связан с экземпляром Canvas. В качестве обходного пути я снова устанавливаю стиль каждого события изменения размера "backgroundImage", но это ужасно.
Что может привести к такому «тихому» сбросу стиля «backgroundImage» в undefined?
Спасибо!