Перемещение компонентов во Flex? - PullRequest
1 голос
/ 16 января 2011

У меня есть следующий компонент:

<?xml version="1.0" encoding="utf-8"?>
    <mx:Canvas  xmlns:mx="http://www.adobe.com/2006/mxml" width="16" height="16" >
    <mx:Script>
        <![CDATA[
            import mx.controls.Image;       
            public function init(i:Number):void {
                this.setStyle("backgroundColor", userFrame.colors[i]);
            }
        ]]>
    </mx:Script>
    <mx:Image x="0" y="0" width="16" height="16" 
        source="@Embed(source='../border16x16.png')"/>

    </mx:Canvas>

Затем я добавляю его на сцену с addChild(block)
Затем я хочу переместить его, изменив block.x, что не удается. Как я могу изменить свой код для реализации эффекта перемещения?

1 Ответ

2 голосов
/ 16 января 2011

В вашем образце нет переменной или компонента с именем block, поэтому мне неясно, что вы пытаетесь переместить.

Если вы хотите переместить изображение, сначала вам нужно дать ему идентификатор:

<mx:Image id="myImage" x="0" y="0" width="16" height="16" source="@Embed(source='../border16x16.png')"/>

А затем в какой-то момент просто измените значения x и y, чтобы переместить его:

myImage.x = newXValue;
myImage.y = newYValue;

Вы также можете использовать метод перемещения:

myImage.move(newXValue, newYValue);

Помните, что значения x и y игнорируются в некоторых контейнерах Flex MX, таких как HBox или VBox, и в некоторых макетах Flex 4 Spark, таких как HorizontalLayout и VerticalLayout. В Spark обязательно используйте Basic Layout, если вы хотите расположить элементы, используя x и y. Во Flex 3 обязательно используйте контейнер или холст для базовой компоновки.

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