PDA

Просмотр полной версии : Начал изучать Flex. Не могу присвоить имя переменной.


vidokk
29.10.2011, 05:46
Вылетает ошибка в таком коде. 1120 access undefined property. Когда пишу var i:int = 2 все работает. Помогите пожалуйста.

<?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"
minWidth="1024" minHeight="768">
<fx:Script>
<![CDATA[
var i:int;
i = 2;
]]>
</fx:Script>

</s:Application>

djyamato
29.10.2011, 06:15
нужно послушать событие creationComplete или applicationComplete, и в обработчике уже присваивать значения

<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="application1_creationCompleteHandler(event)" >
<fx:Script>
<![CDATA[
protected var i:int;

protected function application1_creationCompleteHandler(event:FlexEvent):void
{
i=2;
}
]]>
</fx:Script>
</s:Application>

vidokk
29.10.2011, 06:29
Спасибо!


1046: Type was not found or was not a compile-time constant: FlexEvent.


Как все сложно.

djyamato
29.10.2011, 07:10
начние писать "flexe" и нажмите CTRL + пробел, автокомплит сам допишет или даст список для выбора, и сам import - ы повставляет куда надо
PS Это во флэш билдере

Котяра
29.10.2011, 11:24
Мне кажется вы рано схватились за flex. Изучите чистый as3 для начала.

vidokk
29.10.2011, 20:02
Я бы и рад учить as3 но в чем его компилировать? Кроме эклипса в чём исполнять код?

NikolyA
29.10.2011, 20:30
как в чем его компилировать? Flash IDE, FlashDevelop, Flex SDK, Flash Builder - выберай

vidokk
29.10.2011, 20:33
Так я и делаю во Flash Builder.

djyamato
29.10.2011, 21:03
Мне кажется вы рано схватились за flex. Изучите чистый as3 для начала.
Верно, после того как "помучаетесь" с чистым AS переход на флекс Вам покажется самым впечатляющим и счастливым моментом во всем изучении.
Кроме этого, во флексе практически все визуальные компоненты это в той или иной степени паттерны MVC, фабрика итд, а без ориентирования в них Вам будет сложно понять что ж там флекс такое делат, и почему, нафиг, так все сложно в нем (хотя, нисколечки не сложно, нужно только понять парадигмы некоторые)

Думаю, лучше AS чистый сначала

Так я и делаю во Flash Builder.
в билдере:
File -> New -> ActionScript Project

vidokk
29.10.2011, 21:32
Спасибо. Я попробовал создать as project. Пока не понятно даже куда писать код. Но то что он не матюкается на i = 2 уже плюс. Посмотрю книгу на сайте эдоби.

package
{
import flash.display.Sprite;

public class test extends Sprite
{
public function test()
{
trace ("a");

}
}
}

В консоль не выводится "а".

Art_133
30.10.2011, 01:34
А Вы запустили проект в debug (иконка жучка) режиме?

vidokk
30.10.2011, 06:35
Да дебаг режим то что надо. Спасибо!

sstotenkopf
09.11.2011, 20:27
нужно послушать событие creationComplete или applicationComplete, и в обработчике уже присваивать значения

<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="application1_creationCompleteHandler(event)" >
<fx:Script>
<![CDATA[
protected var i:int;

protected function application1_creationCompleteHandler(event:FlexEvent):void
{
i=2;
}
]]>
</fx:Script>
</s:Application>


Можно так var:int = число
Остается указать тип переменной, чтобы не было предупреждений