Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Action script 2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=49)
-   -   Вопрос про это самое... про кривые руки 8) (http://www.flasher.ru/forum/showthread.php?t=63654)

artfla$her 15.10.2004 01:45

Я имел ввиду то, что прорисовка линий (вообще методы рисования) отнимают ресурсы. Если, например, вообще убрать clear(), не очищая экран, то, при быстром дерганьи мышкой станет ясно, что флэша не поспевает рисовать за перемещением курсора. Соответственно, то, что работает у тебя или скажем у меня, совсем необязательно будет плавно рисоваться у других. Имхо конечно )

silin 15.10.2004 01:58

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

artfla$her 15.10.2004 02:29

Вот еще... Мысль пришла... Проверить ее времени нету.

Смотри - стратДраг раньше онМаусМуве перемещает клип или позже? Т.е. когда срабатывает OnMouseMove клипа, его координаты УЖЕ изменены или нет? Если нет, то прыгание вокруг эталона в самом первом примере (gens_1) объясняется тем, что кординаты эталона переопределены, линия нарисована, а сам клип уже потом только смещен. Рисуем-то мы внутри клипа.

Если глюка с синхронизацией онМаусМува и Драга нету, то мой вариант не катит.

silin 15.10.2004 17:07

Вложений: 1
ага, похоже, что так :
если перемещение клипа и прорисовку поместить в один обработчик (onEnterFrame, onMouseMove..) , то все нормально
т.е. дело все же не в нагрузке на машину (до какого-то предела, ессно), а в том что onEnterFrame не поспевает за драгом

artfla$her 15.10.2004 18:04

Тайна раскрыта -)

CUrve 15.10.2004 20:35

Уххх... Господа, я в некотором затруднении, т.к. последняя версия кода несколько превосходит мои, не бог весть какие, познания в AS.
Я с вашего позволения хотел узнать кое что.

Вот код:
this.onPress=function(){this.d=true}
this.onRelease=this.onReleaseOutside=function(){this.d=false}
this.onEnterFrame=function(){
with(this){
if(d){
_x=_parent._xmouse;

здесь _x видимо имеется в виду укороченная this._x ?
а кто является парентом? _root ?

_y=_parent._ymouse;
}
var p={x:_root.etalon._x,y:_root.etalon._y}

Такой записи переменной я вообще не встречал, не расскажете подробнее? Что то вроде массива?
globalToLocal(p);
clear();
lineStyle(1,0);
lineTo(p.x,p.y)
}
}

Спасибо если просветите, учится мне еще и учится :(
В ожидании ответа пойду RTFM `ить :)

silin 15.10.2004 22:32

да как бы нечего и объяснять, вот равнозначный код
Код:

this.onPress=function(){this.d=true}
this.onRelease=this.onReleaseOutside=function(){this.d=false}
this.onEnterFrame=function(){
        with(this){
                if(d){//если нажато двигаем
                        _x=_root._xmouse;
                        _y=_root._ymouse;
                }
                                //рисуем в любом разе
                clear();
                lineStyle(1,0);
                lineTo(_root.etalon._x-_x,_root.etalon._y-_y)
        }
}

зы: так писать может и удобней, если все это добро рядом с рутом, а не где-нибудь в глубине, и вдобавок не будет подгружаться куда нибудь еще, а вот если будет..,тогда сам увидишь

artfla$her 16.10.2004 01:57

Цитата:

Такой записи переменной я вообще не встречал, не расскажете подробнее? Что то вроде массива?
Данные объектного типа. Аналогично

obj = new Object();
obj.x = 111;
obj.id = "id";
//и т.д.

Просто так писать не удобно иногда бывает, вот в строчку и запихивают.

CUrve 21.10.2004 22:32

Спасибо огромное, всем кто помог.


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

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