Форум 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)
-   -   DragOver: стопор объекта при трэйсе (http://www.flasher.ru/forum/showthread.php?t=93410)

CorC 21.03.2007 16:55

давно пора было
а то заново никто не напишет

BM Senya 27.03.2007 15:14

Вернусь всё же к этой теме. Ну не могу понять как застопорить при наведении обьект в кокой-то либо точке. Прошу подскожите. Что куда нужно вписывать. У меня не прикрепляется файл поэтому вставил код
Код:

mc1.onPress = function() {
        this.startDrag();
};
mc1.onRelease = function() {
        this.stopDrag();
        if (this.hitTest(c1)) {
                var my_color:Color = new Color(c1);
var myTransform:Object = my_color.getTransform();
myTransform = { ra: 80, ba: 80, aa: 60};
my_color.setTransform(myTransform);
  }
};

mc1 это обект который должен застопорится при пересечении с объектом С1 и в его пределах.

CorC 27.03.2007 16:21

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

mc1.onEnterFrame=function(){
if(this.hitTest(c1)){this.stopDrag()}
}


BM Senya 28.03.2007 14:52

CorC, Вы меня не много не так поняли. Мне сложно объяснить, но это должно выглядеть примерно так. Берём к примеру мувик (круг допустим) и наводим к другому кругу, и как только он соприкасается с ним автоматически (при отпускании (onRelease)) заскакивает в него(ровно в середину круга), и его нельзя уже взять, перетащить и т.д. Надеюсь я хоть как-то доступно объяснил.)))

CorC 28.03.2007 15:02

ну дак а в чем проблема тогда?
Код:

mc1.onRelease = function() {
        this.stopDrag();
        if (this.hitTest(c1)) {
                this._x=c1._x+(c1._width-this._width)/2;
                this._y=c1._y+(c1._height-this._height)/2;
        }
};


BM Senya 28.03.2007 16:31

Спасибо огромное! А вот если таких mc несколько, и для каждого свой круг, как должен выглядеть код, чтоб при сопрекосновении всех кругов происходил трэйс (к примеру переход на другой кадр)

BM Senya 30.03.2007 11:02

Прошу Вас помогите наконец разобраться с этой проблеммой!

CorC 30.03.2007 11:05

1. апать нехорошо
2. пиши счетчик и при каждом хиттесте инкрементируй его
потом когда оно будет достаточно иди куда надо...

BM Senya 30.03.2007 11:09

Плиз CorC напиши код я не чё не понял!!!))))

CorC 30.03.2007 11:16

Код:

var Count=10;
for(var i=0;i<Count;i++){
        _root["mc"+i].onRelease = function() {
                this.stopDrag();
                if (this.hitTest(c1)) {
                        if(!--Count){
                                _root.gotoAndPlay("win");
                        }
                        this._x=c1._x+(c1._width-this._width)/2;
                        this._y=c1._y+(c1._height-this._height)/2;
                }
        }
};

10 объектов mc0, mc1 ... mc9 всех покласть с с1 и будет счастье!


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

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