Кнопка добавления в код ActionScript: использование Flex Builder - PullRequest
1 голос
/ 20 июня 2009

Я создал новый проект ActionScript, используя Flex Builder 3, и попытался

для запуска следующего файла. Я получаю эту ошибку:

Определения: fl.controls: Кнопка не найдена. Все, что я хочу сделать, это добавить кнопку в приложение. Как я мог это сделать?

package  {
        import PaperBase;
        import org.papervision3d.objects.primitives.Cone;
        import fl.controls.Button;
        import fl.controls.Label;
        import fl.events.ComponentEvent;

        public class cone1 extends PaperBase {
            public var cone:Cone = new Cone();
            protected var sceneWidth:Number;
            protected var sceneHeight:Number;
            public function cone1() {
                sceneWidth = stage.stageWidth
                sceneHeight = stage.stageHeight;
                init(sceneWidth*0.5,sceneHeight*0.5);//position of the cone
            }
            override protected function init3d():void {
                cone.scale = 5;
                cone.pitch(-40)
                default_scene.addChild(cone);
            }
            override protected function processFrame():void {
                cone.yaw(1);//rotation speed
            }
        }
    }

Ответы [ 4 ]

3 голосов
/ 21 июня 2009

Пакет fl. * Является частью Flash Professional, а не Flex. Для Flex вы должны использовать компоненты, входящие в пакет mx. *.

Теперь, как говорится, я вполне уверен, что во Flex можно использовать компоненты Flash. Я просто не уверен, как это происходит с моей головы.

Кроме того, вам не нужен фактический компонент кнопки, чтобы получить элемент пользовательского интерфейса, подобный кнопке - подойдет любой класс, расширяющий InteractiveObject. Это включает в себя Sprite и MovieClip.

1 голос
/ 12 марта 2010

Это зависит от того, какая у вас версия IDE, для CS4 и Mac расположение будет / Приложения / Adobe Flash CS4 / Общее / Первый запуск / Классы

Добавьте эту папку или соответствующую папку для вашей установки / ОС в ваш путь к классам в flashbuilder / eclipse, и он будет правильно интерпретировать вызовы класса.

Это имеет смысл, если вы кодируете чистый ActionScript и не хотите использовать компоненты Flex или используете смешанное кодирование и проектирование в подходе IDE.

@ philip тег embed нельзя использовать в чистом ActionScript

1 голос
/ 24 июня 2009

Бранден верен, пакет fl является частью Flash IDE .. Я тоже не уверен, но вы можете добавить пакет в путь к классам, если знаете, где находится пакет в вашей файловой системе .. i Я предполагаю, что где-то в C: / программные файлы / Adobe / Flash

если вы хотите использовать компоненты в Flex Builder, я думаю, вам нужно сделать проект Flex, а не проект ActionScript

и измените ваш импорт на:

import mx.controls.Button;
import mx.controls.Label;
import mx.events.FlexEvent;

Также, если вам не нужно использовать компоненты, вы можете использовать Sprite для кнопки, как сказал Branden, и вы можете просто использовать TextField для метки.

другой вариант, если у вас есть flash IDE, чтобы сделать SimpleButton, нажмите кнопку выбора F8, нажмите Enter. затем дайте ему имя ссылки, щелкнув ее правой кнопкой мыши на панели библиотеки и выбрав имя ссылки. затем экспортируйте .swf и поместите swf в папку src для своего проекта и вставьте его так:

[Embed(source="flashfile.swf")]
public var myButton:Class;

Возможно, вы даже сможете экспортировать компоненты Flash IDE таким образом, но не уверены ... на самом деле я не на 100% уверен, если метаданные [Embed] работают в проекте ActionScript или просто сгибают проекты, поэтому вам придется проверьте и посмотрите.

0 голосов
/ 24 июня 2009

Не знаю, зачем вам это нужно, но если вам нужно импортировать флеш-библиотеки в flex, попробуйте перетащить то, что вы хотите, на сцену во flash и экспортировать как файл .swc для импорта в ваш проект flex.

...