PDA

Просмотр полной версии : Flex компоненты без MXML


Deimos747
10.10.2012, 14:11
Здравствуйте!
Я хочу использовать Flex компоненты без MXML. Пытаюсь сделать так:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
creationComplete="initMain()">
--><!-- Launch your application by right clicking within this class and select Debug As > FDT SWF Application -->

<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<fx:Script>
<![CDATA[
import balls.EditorBalls;
private function initMain(): void
{
trace(this, "test1");
var editorBalls: EditorBalls = new EditorBalls();
addElement(editorBalls);
}
]]>
</fx:Script>
</s:Application>

Но не работает даже trace. Подскажите пожалуйста, как мне это сделать.

Astraport
10.10.2012, 15:34
Без this trace тоже не работает?

Deimos747
10.10.2012, 16:20
Неа, не работает.

Добавлено через 2 минуты
Использую Flex 4. SDK: Flex 4.5

Astraport
10.10.2012, 16:57
Что у вас за мусор "-->" после initMain()">. Уберите.

Deimos747
10.10.2012, 17:15
Это я не внимательно комментарии удалил, когда сюда выкладывал. Для эксперимента привёл к такому виду <?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
creationComplete="initMain()"
>
<fx:Script>
<![CDATA[
import balls.EditorBalls;
private function initMain(): void
{
trace("test1");
var editorBalls: EditorBalls = new EditorBalls();
addElement(editorBalls);
}
]]>
</fx:Script>
</s:Application> Всё равно не работает

Astraport
10.10.2012, 17:30
Тут не чему "не работать". FP дебаговый? В консоль что-нибудь выводится?

Deimos747
10.10.2012, 17:37
Да, дебаговый. FDT 5
Starting Launcher Test747.

Starting Incremental Build of Test747.
Loading compiler information in 2 ms.
INFO Загрузка файла конфигурации D:\Install\FlexSDK\flex_sdk_4.5.1.21328\frameworks\flex-config.xml

INFO D:\Work\TestFlex\src\balls\EditorBalls.as:
Выполнено обновление исходного файла или одного из включенных файлов.

INFO Измененные файлы: 1 Задействованные файлы: 0

575994 bytes written to file D:\Work\TestFlex\bin\Main.swf in 277 ms

Launching Adobe Flash Player

alatar
10.10.2012, 18:05
То, что вы привели ни о чем не говорит. Что выводит после
Launching Adobe Flash Player

Deimos747
10.10.2012, 19:23
После Launching Adobe Flash Player ничего нет

Добавлено через 2 минуты
Заметил, что примеры HelloWorld запускаются только через External SWF Viewer, но не тогда не работает дебаг. А через Adobe Flash Player у меня белый экран, даже на HelloWorld. Подозреваю нужно копать настройки.
Версия плеера 10.2

Astraport
10.10.2012, 19:25
У вас какие-то проблемы с настройкой среды разработки. Другие проекты (as3) нормально трейсятся?

Добавлено через 57 секунд
Дело даже не в трейсах, можно посмотреть EditorBalls? (какое интересное название:))

Deimos747
10.10.2012, 19:27
На Flex у меня проектов больше нет, на Flash(AS3) всё прекрасно работает

Astraport
10.10.2012, 19:28
Версия плеера 10.2
Почему не обновляете?

Deimos747
10.10.2012, 19:29
Сейчас попробую, не думал, что это может быть критично.

Добавлено через 3 минуты
Код простой тестовый
package balls{
import mx.core.UIComponent;
import mx.events.FlexEvent;
import spark.components.VGroup;
import balls.model.GameModel;
import balls.view.GameView;
import balls.view.HexGameView;
import balls.view.SquareGameView;
import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageScaleMode;


/**
* @author Maxim
*/
public class EditorBalls extends VGroup
{

////////////////////
//--PRIVATE VARS--//
////////////////////
private var _gameModel: GameModel;

private var _view: SquareGameView;

private var _gameHeight: int;
private var _gameWidth: int;

private var _controller: EditorController;
private var _layout: UIComponent;

///////////////////
//--CONSTRUCTOR--//
///////////////////
public function EditorBalls()
{
trace (this, "!111111111111111");
graphics.beginFill(0x000000);
graphics.drawRect(0, 0, 100, 100);
}
P.S:
Проект должен стать редактором для игры у которой рабочее название "Шарики", отсюда и название.

Добавлено через 16 минут
Поставил версии 11.1 и 11.4, не помогло

Добавлено через 21 минуту
Обновил, дебаг-плеер, заработало))) Спасибо, Astraport!