Изменение точки регистрации Flex с верхнего левого угла на центр - PullRequest
0 голосов
/ 31 марта 2011

Мне нужна помощь с Flex.Я хочу узнать, как вы можете изменить точку регистрации для Canvas.Я хочу сделать масштабирование этого компонента, но точки регистрации в левом верхнем углу!Как мне переместиться в центр?

Ответы [ 3 ]

0 голосов
/ 31 марта 2011
0 голосов
/ 31 марта 2011

Я не уверен, как это поможет «центрировать» точку регистрации, но что угодно. Вот как вы это делаете:

Flex 3

<mx:Canvas clipContent="false">
    <mx:Box width="400" height="400" x="-200" y="-200" backgroundColor="#000000" />
</mx:Canvas>

Flex 4

<s:Group clipAndEnableScrolling="false">
    <s:BorderContainer width="400" height="400" x="-200" y="-200" backgroundColor="#000000" />
</s:Group>

Но, однако, есть и другие проблемы, например, если я хочу центрировать холст / группу, он не будет работать должным образом, если вы используете вертикальный / горизонтальный центр, потому что содержимое внутри него отключено. Лично я думаю, что этот обходной путь идиотский, если вы просто хотите увеличить масштаб. Это довольно простая операция. Если вам нужно, чтобы он был отцентрирован во время увеличения, вы всегда можете изменить положение x / y для любого увеличения. Расчет довольно прост, чтобы найти центр ваших компонентов:

var center:Point = new Point(component.x + component.width/2, component.y + component.height/2);
0 голосов
/ 31 марта 2011

Существует два решения:

  1. Поместите Canvas в объект-контейнер и отцентрируйте его.
  2. Оставьте точку регистрации такой, какая она есть, и при увеличении измените x и yкоординаты влево / вверх.

Хотя может быть "правильное" решение.

Надеюсь, это поможет, Роб

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...