Форум 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=133297)

xotdog 01.12.2009 23:05

как перетаскивать объекты только в конкретное место координату
 
помогите новичку я перетаскиваю объект к любую точку
on (press) {
this.startDrag(false);
}
on (release) {
this.stopDrag ( );
}и при отпускании он там остается
а как сделать чтоб он только в точке x100 y100 оставался
а если в любой другой я его оставляю чтоб он оказался в том месте где я его брал. заранее спасибо!

donphp 02.12.2009 05:19

Я сомневаюсь что пользователь сможет перетащить обьект точно в точку 100 100
Ты уверен что именно этого хочеш?
Код AS1/AS2:

on (press) {
this.beforx = this._x;
this.befory = this._y;
this.startDrag(false);
}
 
on (release) {
if(this._x !=100 or this._y != 100){
this._x = this.beforx;
this._y = this.befory;
}
this.stopDrag ( );
}


xotdog 02.12.2009 12:12

я хочу чтобы вставала в область 100 100 +-10 пикселей

Zik. 02.12.2009 13:03

Вложений: 1
Пример сделал

P.S: CS3

xotdog 05.12.2009 14:24

спасибо большое! а можно как-нибудь сделать чтобы тот фрейм который я беру и перетаскиваю становиля на передний план а то при перетаскивании не красиво получается объект прячется под другим объектом в этом же слое

Zik. 05.12.2009 15:05

Код AS1/AS2:

нужный_клип.getNextHighestDepth();


Chuck607 05.12.2009 15:06

попробуй
Код AS1/AS2:

my_clip.swapDepths(this.getNextHighestDepth());


xotdog 05.12.2009 15:21

не работает (((

Chuck607 05.12.2009 15:33

Напиши код, как ты прописываешь swapDepths?

xotdog 05.12.2009 15:39

Код AS1/AS2:

on (press) {
qwe.swapDepths(this.getNextHighestDepth());
id=1;
 
this.beforx = this._x;
this.befory = this._y;
this.startDrag(false);
for (i=1; i<15;i++)
{
        if (this.beforx==Xmas8[i] and this.befory==Ymas8[i])
        PrevId=i;
}
q=0;
w=0;
fl=0;
 
}


Chuck607 05.12.2009 15:46

Попробуй просто
Код AS1/AS2:

this.getNextHighestDepth();


Zik. 05.12.2009 16:00

твою мать
опять код в кнопке
поэтому и не работает

xotdog 05.12.2009 17:52

этот код у меня не в кнопке!

Добавлено через 2 минуты
в фрагменте ролика и перетаскивание работает а на передний план нет((((

Chuck607 05.12.2009 18:11

Если я правильно понял нужно, чтобы перетаскиваемый объект всегда выходил на передний план ?

Zik. 05.12.2009 22:53

Цитата:

Сообщение от xotdog (Сообщение 870432)
этот код у меня не в кнопке!

Добавлено через 2 минуты
в фрагменте ролика и перетаскивание работает а на передний план нет((((

Тот код, который вы привели на первой странице просто не может работать в фрагменте ролика

Добавлено через 1 минуту
давайте исходник

NoCD 06.12.2009 12:25

Код AS1/AS2:

attachMovie("mc1,"mc1",1)
mc1._x = 100
mc1._y = 100
mc1.flag = true
 
attachMovie("mc2","mc2",2)
mc2._x = 300
mc2._y = 300
mc2.flag = true
 
mc1.onRelease = function(){
if(this.flag){this.startDrag();this.flag = false}else{this.stopDrag();this.hit_mc();this.flag = true}
}
 
MovieClip.prototype.hit_mc = function(){
//измерим расстояние от центра детальки до места соединения
trace(this)
dx = this._x - mc2._x;
dy = this._x - mc2._y;
dist = Math.sqrt(dx*dy+dy*dy);
 
//проверяем расстояние
//если расстояние меньше 20 пикселей то помещаем его к месту соединения
if(dist < 20) {
this._x =  mc2._x;
this._y =  mc2._y;
}
 
 }

где mc1 - MovieClip(размещенный в библиотеке) детальки, которую мы будем перемещать
mc2 - MovieClip(размещенный в библиотеке) прибор, к которому надо приделать детальку (mc1)

Делаем функцию hit_mc методом MovieClip - а, для того, что бы без труда можно было передавать все настройки (свойства клипа mc1)детали при коннекте с каким либо устройством.

Или вообще можно просто обычную функцию сделать, аргументом которого будет имя детальки(mc1)

как то вот так

xotdog 06.12.2009 17:07

Цитата:

Сообщение от Chuck607 (Сообщение 870434)
Если я правильно понял нужно, чтобы перетаскиваемый объект всегда выходил на передний план ?

да правильно!

xotdog 06.12.2009 17:49

Вложений: 1
вот в этом примере мне нужно чтобы перетаскиваемый объект выходил на передний план

Zik. 06.12.2009 18:02

Вложений: 1
Пример

xotdog 06.12.2009 18:09

спасибо большое


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

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