![]() |
|
||||||||||
|
|||||
|
Регистрация: Feb 2006
Сообщений: 16
|
Добрый день! Перехожу на Flex 3 с Flash 8 (AS2) - сильно не пинайте новичка. Ищу решение следующей проблемы: нужно перенести часть кода Flash (динамическое рисование) на Flex. Во флеше рисование (moveTo, lineTo) выполнялось на имеющемся/создаваемом мувике. Сам скрипт писался мной во фрейм основного таймлайна. Хочу понять общие принципы рисования во Flex.
Вот имеющийся код на флеше: var mc:MovieClip = this.createEmptyMovieClip("mc", this.getNextHighestDepth());
...
mc.clear();
mc.lineStyle(1, 0xFFAAAA, 100);
mc.moveTo(10, 10);
mc.lineTo(50, 50);
Во FLEX пока имею вот что (собственно, только что созданный проект): <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"> </mx:Application> Куда в mxml пихать код? (догадываюсь, что нужно юзать mx:Script, но рабочий вариант так мне и не удалось получить). Спасибо. |
|
|||||
|
У всех классов наследованных от Shape - есть graphics, в нем и нужно рисовать.
|
|
|||||
|
Регистрация: Feb 2006
Сообщений: 16
|
Если я правильно понял, нужно делать так:
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"> <mx:Script> <![CDATA[ import flash.display.Shape; var sp:Shape = new Shape(); sp.graphics.lineStyle(1, 0xFFAAAA, 100); sp.graphics.moveTo(10, 10); sp.graphics.lineTo(50, 50); ]]> </mx:Script> </mx:Application> 1120: Access of undefined property sp. ... 1120: Access of undefined property sp. ... 1120: Access of undefined property sp. ... В чем моя ошибка? |
|
|||||
|
Регистрация: Sep 2007
Адрес: Путенбург
Сообщений: 147
|
Чтобы увидеть рисунок, мало создать new Shape() его нужно еще добавить addChild(). Только в Application можно добавлять чайлды которые наследуются от UIComponent, попробуйте так:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="myDraw()">
<mx:Script>
<![CDATA[
import mx.containers.Box;
private function myDraw():void {
var sp:Box = new Box();
sp.graphics.lineStyle(1, 0xFFAAAA, 100);
sp.graphics.moveTo(10, 10);
sp.graphics.lineTo(50, 50);
addChild(sp);
}
]]>
</mx:Script>
</mx:Application>
__________________
<!-- КРЭКС ПЭКС ФЛЭКС --> |
|
|||||
|
Регистрация: Feb 2006
Сообщений: 16
|
Да! Cпасибо. Сработало. Про "import flash...." как полагаю можно забыть? они вообще используются во Flex?
|
|
|||||
|
Регистрация: Sep 2007
Адрес: Путенбург
Сообщений: 147
|
Цитата:
__________________
<!-- КРЭКС ПЭКС ФЛЭКС --> |
|
|||||
|
Регистрация: Feb 2006
Сообщений: 16
|
Спасибо.
|
|
|||||
|
[+3 13.02.08]
Регистрация: Apr 2006
Сообщений: 421
|
Проще всего создать свой компонент и там рисовать то, что тебе надо
|
![]() |
![]() |
Часовой пояс GMT +4, время: 21:29. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|