Форум 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)
-   -   Проблемы с Movieclip.lineTo() (http://www.flasher.ru/forum/showthread.php?t=77233)

Niketas 21.03.2006 01:15

Проблемы с Movieclip.lineTo()
 
Вложений: 1
Вот простой пример использования линий.
Код:

my1_mc.clear();
var x1,y1,x2,y2;
x1=my1_mc._x;
x2=my2_mc._x;
y1=my1_mc._y;
y2=my2_mc._y;
my1_mc.lineStyle(1,0x000000,100);
my1_mc.lineTo(x2-x1,y2-y1);

При быстром перетаскивании объекта my1_mc линии не успевают дойти до my2_mc, а если наоборот, то все отлично.

Подскажите, пожалуйста, что не так, и можно ли исправить (или так оно и должно быть).

4thDimention 21.03.2006 02:23

Хз че такое...
 
полчаса бился над проблемой, ниче не придумал... могу лишь для бОльшей удобочитаемости посоветовать расположить код вот так:
Код:

my1_mc.onPress = function() {
        startDrag(this, true);
};
my1_mc.onRelease = function() {
        stopDrag();
};
my2_mc.onPress = function() {
        startDrag(this, true);
};
my2_mc.onRelease = function() {
        stopDrag();
};
var x1, y1, x2, y2;
onEnterFrame = function () {
        my1_mc.clear();
        my1_mc.lineStyle(1, 0x000000, 100);
        x1 = my1_mc._x;
        y1 = my1_mc._y;
        x2 = my2_mc._x;
        y2 = my2_mc._y;
        my1_mc.lineTo(x2-x1, y2-y1);
};


Golovach 21.03.2006 13:50

Все гениальное просто:
Код:

my1_mc.onPress = function() {
        startDrag(this, true);
};
my1_mc.onRelease = function() {
        stopDrag();
};
my2_mc.onPress = function() {
        startDrag(this, true);
};
my2_mc.onRelease = function() {
        stopDrag();
};
var x1, y1, x2, y2;
_root.createEmptyMovieClip("lines", this.getNextHighestDepth());
onEnterFrame = function () {
        lines.clear();
        lines.lineStyle(1, 0x000000, 100);
        x1 = my1_mc._x;
        y1 = my1_mc._y;
        x2 = my2_mc._x;
        y2 = my2_mc._y;
        lines.moveTo(x1, y1);
        lines.lineTo(x2, y2);
};


Golovach 21.03.2006 13:52

И 120 fps - это перебор...

Niketas 21.03.2006 23:45

Почему перебор?

silin 22.03.2006 00:09

если на onMouseMove это добро повесить, то фпс уже не волнует (хоть 0,5 ставь):
Код:

my2_mc.onPress = my1_mc.onPress = function() {
        startDrag(this, true);
        _root.onMouseMove=drawLine;
};
my2_mc.onRelease =my1_mc.onRelease = function() {
        stopDrag();
        delete _root.onMouseMove;
};
drawLine=function(){
        clear();
        lineStyle(1, 0x000000, 100);
        moveTo(my1_mc._x, my1_mc._y);
        lineTo(my2_mc._x, my2_mc._y);
        updateAfterEvent();
}
drawLine();


Niketas 22.03.2006 00:14

3
Спасибо! Осталось дорегулировать depth самих мувиков, и все ок.


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

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