Суббота, 28.06.2025, 18:57
| RSS
Главная | Каталог статей
Меню сайта
Интересные даты
23.12.2008
рождение проекта
Категории каталога
ActionScript 1.0 | 2.0 [15]
Уроки по Акшин Скрипт версии 2.0
ActionScript 3.0 [0]
Уроки по Акшин Скрипт версии 3.0
Анимация [3]
Уроки по анимации, рисование во Flash
Разное [4]
Все остальное
Форма входа
Поиск
Друзья сайта
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Главная » Статьи » Уроки » ActionScript 1.0 | 2.0

Находим и изменяем размер загружаемой картинки из «вне».
Урок интересный, тем кто мало понимает в Action Script’e , он тоже по силам. Ссылку этого файла мне прислал знакомый, пришлось создавать все званого, чтоб написать данный урок. Во Flash это парой бывает очень полезным.

1. Создаем новый swf файл. File > New или (Ctrl+N). Размер (480х640)
2. Создаем три слоя и называем их (ActionScript, Рамка и Текст)
3. В первом кадре слоя «Рамка», рисуем рамку размером и положением (width: 300 height: 400 x: 90 y:90)

4. В первом кадре слоя «Текст», вставляем 4 текстовых поля по вертикали (Dynamic Text). Устанавливаем галочку для каждого поля «Render text as HTML»

и в пункте «Line Type» - устанавливаем Single line… как на картинке. Даем им 4 имя в поле “Instance name” (TFnormal, TFvertical, TFhorizontal, TFsmall) каждому соответственно.

(В этих полях появятся ссылки на 4 изображения, позже мы будим их нажимать : ) )
5. Создаем в этом же слое еще одно поле, но чуть ниже рамки. Instance name ему “TFhelp”, а «Line Type» - устанавливаем Multiline. Ну и «Render text as HTML». Шрифт на выбор, у меня Arial (12).
(В этом поле будет отображаться информация о размере загружаемого файла, его ресайзинге, т.е. изменении размера после и имя самого файла)
6. Создаем новый пустой MovieClip. Insert > New Symbol или (Ctrl+F8). Он нам понадобиться позже. Имя ему «Клип», пусть лежит в библиотеке фалов. Размещать на сцене мы его не будем.
7. В слое "ActionScript" в первом кадре пишем:

// Указываем размер нашей рамки, куда будут грузиться фотки
clip.maxWidth = 300;
clip.maxHeight = 400;
clip.allowEnlarge = false;
// Функция загрузки картинок
clip.loadImage = function(file) {
 this.image.removeMovieClip();
 this.createEmptyMovieClip("image", 0);
 this.image.loadMovie(file);
 this.onEnterFrame = function() {
  var l = this.image.getBytesLoaded();
  var t = this.image.getBytesTotal();
  if (t>0 && l>=t) {
  // загрузка закончилась
  delete this.onEnterFrame;
  this.resize();
  }
 };
};
// Функция размерности картинок
clip.resize = function() {
 //
 // для отображения тестовой инфы
 _root.TFhelp.htmlText += "\tзагрузилось, изменяем размер:<br/>";
 _root.TFhelp.htmlText += "\t- было: "+this.image._width+"x"+this.image._height+"<br/>";
 //
 // 
 var ratio_x = this.maxWidth/this.image._width;
 var ratio_y = this.maxHeight/this.image._height;
 if (ratio_x<=ratio_y) {
  // выполняем, если нужно уменьшить, 
  // или увеличить+увеличение разрешено
  if (ratio_x<1 || this.allowEnlarge) {
  // ширина равна максимальной
  // а высота в соответствии с пропорцией
  this.image._width = this.maxWidth;
  this.image._yscale = this.image._xscale;
  }
 } else {
  // выполняем, если нужно уменьшить, 
  // или увеличить+увеличение разрешено
  if (ratio_y<1 || this.allowEnlarge) {
  // высота равна максимальной
  // а ширина в соответствии с пропорцией
  this.image._height = this.maxHeight;
  this.image._xscale = this.image._yscale;
  }
 }
 //  
 // для отображения тестовой информации
 _root.TFhelp.htmlText += "\t- стало: "+this.image._width+"x"+this.image._height+"<br/>";
 //
 //
 // центровка
 this.image._x = Math.round((this.maxWidth-this.image._width)/2);
 this.image._y = Math.round((this.maxHeight-this.image._height)/2);
};
//
// код, следующий ниже, не описан в туториале. 
// он нужен для интерфейса этого примера и на суть происходящего не влияет.
var httppath = "";
var anchor = new TextField.StyleSheet();
anchor.setStyle("a", {textDecoration:"underline"});
var TF = [TFnormal, TFvertical, TFhorizontal, TFsmall];
for (var i in TF) {
 TF[i].styleSheet = anchor;
 TF[i].autoSize = true;
}
TFnormal.htmlText = "<a href='asfunction:loadImage,"+httppath+"normal.jpg'>загрузить картинку 300х400</a>";
TFvertical.htmlText = "<a href='asfunction:loadImage,"+httppath+"vertical.jpg'>загрузить вертикальную картинку</a>";
TFhorizontal.htmlText = "<a href='asfunction:loadImage,"+httppath+"horizontal.jpg'>загрузить горизонтальную картинку</a>";
TFsmall.htmlText = "<a href='asfunction:loadImage,"+httppath+"small.jpg'>загрузить маленькую картинку</a>";
loadImage = function (file) {
 _root.TFhelp.htmlText = "грузим файл <u>"+file+"</u><br/>";
 _root.clip.loadImage(file);
};
TFhelp.htmlText = "выберите, какую картинку грузить";


Когда мы все это сделали, нам осталось сохранить и протестировать. Да, и самое главное, фотографии… в этой же папке должны лежать 4 фотографии формата jpg любого размера, имена у них должны быть (normal, vertical, horizontal, small)

Исходник урока здесь >>>

Категория: ActionScript 1.0 | 2.0 | Добавил: admin (11.01.2009)
Просмотров: 3261 | Комментарии: 1 | Рейтинг: 0.0/0
Сделать бесплатный сайт с uCozCopyright by Flash Tehnologi © 2008-2025 | design by fred_ford