Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Drag & Scale панорамных картинок (http://www.flasher.ru/forum/showthread.php?t=98525)

4teras 15.07.2007 16:17

Drag & Scale панорамных картинок
 
Искал по форуму, коечто нашел http://www.dofton.com/panorama/pan.rar тут лежит исходник для просмотра панорамных больших фоток. немогу допереть как его довести до ума что бы:
1. вначале картинка по высоте была 710пикс. независимо от подгружаемой картинки (по высоте от линии до низу)
2. кнопка с drag-ом принимала значения _height _width подгружаемой картинки
3. граничные условия перетягивания. что бы за границу картинки не перетягивалось
Если кто может посмотреть. буду очень благодарен

silin 15.07.2007 18:39

офТоп: впрос про как узнать высоту/ширину (в соседнем топике) был правильный, на него можно ответить..
вы встали на верный путь, товарищь..
разбей свою проблему на такие же доступные для ответа составляющие и тебе всяк поможет, а решать комплекс, сори, не вдохновляет..

4teras 15.07.2007 18:44

я уже немного разобрался. обновил файл. и теперь у меня вопрос №3 остался нерешенным.
как сделать что бы картинка не вылазила за свои границы при перетягиване.

silin 15.07.2007 18:48

тестовый пример проблемы.. и, полагаю, решение будет найдено
зы: потому как 'что бы за границу картинки не перетягивалось', согласись, понятно только тебе одному..

4teras 15.07.2007 18:52

когда мы используем
Код:

on (press) {
        this.startDrag();
}

мы можем картинку вообще убрыть с мувика. посмотри плз исходник.
а я хочу чтобы картинку нельза было переместить за ее границы.

silin 15.07.2007 19:34

исходника нет (здесь что-то не работает загрузка)
но суть примерно понятна
поиграйся с таким кодом:
Код:

import flash.geom.*;
var dragArea:Rectangle = new Rectangle(20, 40, 300, 200);//область таскания
var targW = 120, targH = 80;//целевые размеры картинки

function drag() {
        var left = dragArea.left;//доколь можно влево
        var right = dragArea.right-this._width;//вправо
        var top = dragArea.top;
        var bottom = dragArea.bottom-this._height;
        this.startDrag(false,left,top,right,bottom);
}
var picMC = this.createEmptyMovieClip("picMC", this.getNextHighestDepth());
var loader = new MovieClipLoader();
loader.onLoadInit = function(mc) {
        //ставим картинку куда надо, например в TL угол
        mc._x = dragArea.left;
        mc._y = dragArea.top;
        //масштабируем загруженную картинку..
        mc._width = targW;
        mc._height = targH;
        //определяем мышиные дела
        mc.onPress = drag;
        mc.onRelease = stopDrag;

};
loader.loadClip("image.jpg",picMC);



Часовой пояс GMT +4, время: 12:25.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.