![]() |
|
||||||||||
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
var xborder:Number = clip_mc._width-clip_mc.mc._width;
var yborder:Number = clip_mc._height-clip_mc.mc._height;
////
clip_mc.mc.onMouseMove = function () {
var xcell:Number = xborder-clip_mc._xmouse + this._width/(clip_mc._width/clip_mc._xmouse);
this.cell_x = Math.min(xborder, Math.max(0, xcell));
var ycell:Number = yborder-clip_mc._ymouse + this._height/(clip_mc._height/clip_mc._ymouse);
this.cell_y = Math.min(yborder, Math.max(0, ycell));
}
clip_mc.mc.onEnterFrame = function () {
this._x = this._x + (this.cell_x - this._x)/10
this._y = this._y + (this.cell_y - this._y)/10
}
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Feb 2007
Сообщений: 563
|
клааассс....!!! Супер, сапсибо большое =)
мне б в жизни не сообразить....слишком плохо с математикой)))))))) только у этого кода есть один недостаток - клип не реагирует на мышку, если мышка находится по углам Stage(при расположение clip_mc где-то в центре Stage) =| Последний раз редактировалось AlexDesinger; 22.09.2008 в 00:52. |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
В смысле не реагирует? Забивается в угол clip_mc и сидит там, а как еще? Дальше ведь ему нельзя двигаться! Или Вы хотели чтобы clip_mc был какбы уменьшенной проекцией Stage, и только когда мышь заходит в угол стейджа, mc заходит в противоположный угол clip_mc? А когда мышь скажем на 2/3 расстояния от центра до угла стейджа, то mc на 2/3 расстояния от центра до угла clip_mc?
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Feb 2007
Сообщений: 563
|
Цитата:
сорри, что не так выразился...я именно это пытаюсь сообразить как сделать, но вообще ничего не могу...я не могу в голове уложить все зависимости что от чего зависит и что на что надо делить.... впринципе соотношение сторон не принципиально, оно впринципе может быть и как у Stage лишь бы можно было регулировать размеры этой области и его местоположение - клип, который как бы уменьшенная копия Stage или проекция Stage... ![]() |
|
|||||
|
Регистрация: Feb 2007
Сообщений: 563
|
у меня получилось вот что:
xRatio = (Stage.width+clip_mc.mc._width)/clip_mc._width;
yRatio = (Stage.height+clip_mc.mc._height)/clip_mc._height;
onMouseMove = function () {
dx = (Stage.width-clip_mc.mc._width-_xmouse+clip_mc.mc._width/(Stage.width/_xmouse))/xRatio;
dy = (Stage.height-clip_mc.mc._height-_ymouse+clip_mc.mc._height/(Stage.height/_ymouse))/yRatio;
};
onEnterFrame = function () {
clip_mc.mc._x = clip_mc.mc._x+(dx-clip_mc.mc._x)/10;
clip_mc.mc._y = clip_mc.mc._y+(dy-clip_mc.mc._y)/10;
};
|
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Это Вам кажется, что всё так просто - всего лишь чуть другое условие. Но если раньше Вы хотели соблюдение одного условия, то теперь - одновременно двух, но сами этого по-моему не поняли))) Представьте, что clip_mc находится не в центре стейджа.
Если положение mc внутри clip_mc соответствует зеркальному отражению положения мыши на сцене, то когда мышь в центре сцены, мс - в центре клип_мс. Когда мышь в центре клип_мс, мс - почти у самой грани клип_мс. Т.е. изначальное правило, что мс убегает от мышки относительно центра клип_мс, не может быть соблюдено одновременно с "проецированием" сцены.
__________________
Reality.getBounds(this); Последний раз редактировалось Wolsh; 23.09.2008 в 20:06. |
|
|||||
|
Регистрация: Feb 2007
Сообщений: 563
|
Что-то я и в правду вас не понимаю. Наверное мы представляем себе разные эффекты, либо я действительно что то упустил...я прикрепил файл, в которм клипы движутся как бы мне хотелось - точно так как вы подсказали ранее, только я попробовал их разместить внутри клипа, чтобы они не по всему стэйджу перемещались а внутри клипа, ограничивающего их перемещение.
Где бы я не размещал клип_мс на стейдже, клипы внутри него двигаются правильно... ![]() |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Как Вы сказали?
?)))))Не знаю, я затруднился обнаружить какуюто единую систему. По-моему там никто "правильно" не движется. Но если это то, что Вы имели в виду - здорово! Вы сами решили задачу, казавшуюся Вам такой неразрешимой. Мои поздравления и дальнейших успехов!
__________________
Reality.getBounds(this); |
![]() |
![]() |
Часовой пояс GMT +4, время: 00:44. |
|
|
« Предыдущая тема | Следующая тема » |
|
|