Форум 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)
-   -   Границы рабочего поля (http://www.flasher.ru/forum/showthread.php?t=148420)

U4enik 30.12.2010 17:05

Границы рабочего поля
 
Приветствую. Искал ответ на форуме но не нашел.
Есть такой код:

Код AS1/AS2:

onMouseMove = function()
{
    clip._x = _root._xmouse;
    if( clip._x < 0)
    {
        clip._x = 0;
        updateAfterEvent();
    }
 
    updateAfterEvent();
}

Тоесть "clip" двигается вслед за курсором. Как сделать так чтобы при достижении левой границы Stage это клип дальше не двигался а оставался возле границы ? Вобщем чтобы объект не покидал Stage ?

mooncar 30.12.2010 17:23

Ну в общем-то приведенный вами код близок к тому, что требуется.
В чем трудность?

Tails 30.12.2010 17:23

В этом коде нету ошибок, клип не покидает stage с лева.

Почему у меня в школе небыло дз по флеши :'(

U4enik 30.12.2010 17:25

Цитата:

Сообщение от mooncar (Сообщение 961084)
Ну в общем-то приведенный вами код близок к тому, что требуется.
В чем трудность?

Не работает почему-то...

Tails 30.12.2010 17:26

Запусти флешку, растяни окно по горизонтали и тестируй.

Хм, этот код отлично работает если не менять размеры окна флешки. Но если нужно отслеживать стаге при изминённых размерах, да ещё не дай бох с масштабированием ...

mooncar
По сути этот код нечерта не стаге отслеживает.

щас всё будет ...

U4enik 30.12.2010 17:40

Цитата:

Сообщение от Tails (Сообщение 961087)
Запусти флешку, растяни окно по горизонтали и тестируй.

Хм, этот код отлично работает если не менять размеры окна флешки. Но если нужно отслеживать стаге при изминённых размерах, да ещё не дай бох с масштабированием ...

mooncar
По сути этот код нечерта не стаге отслеживает.

Нет, размеры окна менять не надо, надо чтобы например когда вслед за курсором двигается клип то при достижении краем клипа окна флешки клип должен смещаться чтобы его было видно полностью.

Добавлено через 7 минут
Всем спасибо. Я допер в чем прикол. Просто надо было регистрировать 0-вые координаты клипа в углу этого клипа а не в центре :). Дальше уже разберусь.

С наступающим Новым Годом всех флешеров!!!

Tails 30.12.2010 17:50

Вот блин, а я тут старался чтобы он даже при масштабирований ...
С НОВЫМ ГОДОМ !

Код AS1/AS2:

var startWidth=Stage.width;
Stage.scaleMode = "noScale";
 
onMouseMove = function(){
clip._x =_xmouse;
if( clip._x < -(Stage.width-startWidth)/2){ clip._x = (-(Stage.width-startWidth)/2);
                    updateAfterEvent();
                    }
updateAfterEvent();}

В моём коде юзаеца реальное stage

U4enik 30.12.2010 23:47

Цитата:

Сообщение от Tails (Сообщение 961093)
Вот блин, а я тут старался чтобы он даже при масштабирований ...
С НОВЫМ ГОДОМ !

Код AS1/AS2:

var startWidth=Stage.width;
Stage.scaleMode = "noScale";
 
onMouseMove = function(){
clip._x =_xmouse;
if( clip._x < -(Stage.width-startWidth)/2){ clip._x = (-(Stage.width-startWidth)/2);
                    updateAfterEvent();
                    }
updateAfterEvent();}

В моём коде юзаеца реальное stage

А за код спасибо, я люблю ковыряться в скриптах, пригодится, еще раз с новым 2011 годом!!! Да здравствует FLASH!


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

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