Показать сообщение отдельно
Старый 25.01.2012, 04:03
dimetradim вне форума Посмотреть профиль Отправить личное сообщение для dimetradim Найти все сообщения от dimetradim
  № 1  
Ответить с цитированием
dimetradim

Регистрация: Feb 2009
Сообщений: 24
По умолчанию Не удается создать свойство в fl.text.TLFTextField.

Народ помогите разобраться почему не робит код. Задача чтоб при растягивании флешки текстовое поле тоже растягивалось и текст переформатировался. При добавлении текстового поля TLF (оно же далее по коду "ttt") появляются ошибки.
Где именно смотрите в коде. Пометил стрелками "<<<<".
Если можно свои версии излагайте кодом, я не прогер и поэтому помощь типа поюзай хелп по теме такой то и т.п. не помогут

Код AS3:
var normalWidth:Number = this.stage.stageWidth;
var normalHeight:Number = this.stage.stageHeight;
 
// Массив, в котором храним обьекты, которые изменяются при изменении окна
var objects:Array = new Array(panorama, logo, minsk, plashka, blok_txt, prodaja, ttt); 
for (var i:uint = 0; i < objects.length; i++){
      objects[i].xRatio = objects[i].x / this.stage.stageWidth; // <<<<  в выводе выдаёт - ReferenceError: Error #1056: Не удается создать свойство xRatio в fl.text.TLFTextField.   at _55x100_fla::MainTimeline/frame1()
      objects[i].yRatio = objects[i].y / this.stage.stageHeight;
}
 
//Помечаем обьекты которые можно увеличивать
plashka.scalable = true;
// ttt.scalable = true;    <<<< и если тут раскоментить то при компиляции выдает - Монтажный кадр 1, слой "Action Script", кадр 1, строка 13	1119: Обращение возможного неопределенного свойства scalable через ссылку со статическим типом fl.text:TLFTextField .
 
 
 
this.stage.scaleMode = "noScale";
this.stage.align = "TL";
 
this.stage.addEventListener(Event.RESIZE, resizeHandler);
resizeHandler();
 
function resizeHandler(e:Event = null):void {
      if (this.stage.stageWidth > 800){
            for (var i:uint = 0; i < objects.length; i++){
                  objects[i].x = this.stage.stageWidth * objects[i].xRatio;
                  if(objects[i].scalable){
                        objects[i].scaleX = this.stage.stageWidth / this.normalWidth;
                  }
            }
       }
 
       if (this.stage.stageHeight > 55){
            for (var j:uint = 0; j < objects.length; j++){
                  objects[j].y = this.stage.stageHeight * objects[j].yRatio;
                  if(objects[j].scalable){
                        objects[j].scaleY = this.stage.stageHeight / this.normalHeight;
                  }
            }
       }
}


Последний раз редактировалось dimetradim; 25.01.2012 в 04:16.