![]() |
|
||||||||||
|
|||||
|
Регистрация: Jun 2004
Адрес: Москва
Сообщений: 475
|
Рисуется n вертикальных (к примеру) прямоугольников, а потом один горизонтальный сверху на них, можно ли узнать пересечения прямоугольников, что бы сделать нижние полностью видимыми.
По моему сам не очень понял, что написал, да, изменение уровня не подойдет. |
|
|||||
|
Регистрация: Dec 2002
Адрес: Сочи
Сообщений: 2,819
|
this.createEmptyMovieClip('pic1', 1);
this.createEmptyMovieClip('pic2', 2);
with (_root.pic1) {
beginFill(0xff0000);
for (var i = 0; i<=9; i++) {
moveTo(i*40, 0);
lineTo(i*40+20, 0);
lineTo(i*40+20, 300);
lineTo(i*40, 300);
lineTo(i*40, 0);
}
}
with (_root.pic2) {
beginFill(0x006699);
moveTo(0, 80);
lineTo(500, 80);
lineTo(500, 120);
lineTo(0, 120);
lineTo(0, 80);
}
_root.pic2.onRelease=function () {
_root.pic2.swapDepths(_root.pic1)
}
|
|
|||||
|
Регистрация: Jun 2004
Адрес: Москва
Сообщений: 475
|
Спасибо но мне нужно именно без изменения уровней, вот набросал, но как сделать, для нескольких клипов, не догоняю
this.createEmptyMovieClip("muv1_mc", 1);
this.muv1_mc._x = 0;
this.muv1_mc._y = 0;
this.muv1_mc.beginFill(0x000000);
this.muv1_mc.lineTo(100, 0);
this.muv1_mc.lineTo(100, 100);
this.muv1_mc.lineTo(0, 100);
this.muv1_mc.lineTo(0, 0);
this.muv1_mc.endFill();
this.createEmptyMovieClip("muv2_mc", 2);
this.muv2_mc.ob = new Object();
this.muv2_mc.ob = {x1:100, y1:0, x2:100, y2:100, x3:0, y3:100, x4:0, y4:0};
this.muv2_mc._x = 0;
this.muv2_mc._y = 120;
this.muv2_mc.beginFill(0x0000ff);
this.muv2_mc.lineTo(this.muv2_mc.ob.x1, this.muv2_mc.ob.y1);
this.muv2_mc.lineTo(this.muv2_mc.ob.x2, this.muv2_mc.ob.y2);
this.muv2_mc.lineTo(this.muv2_mc.ob.x3, this.muv2_mc.ob.y3);
this.muv2_mc.lineTo(this.muv2_mc.ob.x4, this.muv2_mc.ob.y4);
this.muv2_mc.endFill();
this.muv2_mc.onPress = function() {
this.startDrag();
};
this.muv2_mc.onRelease = function() {
this.stopDrag();
brash();
};
function brash() {
var kub = this.muv2_mc;
var hit = this.muv1_mc;
if (kub.getBounds(this).xMin>hit.getBounds(this).xMin && kub.getBounds(this).xMin<hit.getBounds(this).xMax && kub.getBounds(this).yMin>hit.getBounds(this).yMin && kub.getBounds(this).yMin<hit.getBounds(this).yMax) {
kub.ob = {x0:0, y0:hit.getBounds(this).yMax-kub.getBounds(this).yMin, x1:hit.getBounds(this).xMax-kub.getBounds(this).xMin, y1:hit.getBounds(this).yMax-kub.getBounds(this).yMin, x2:hit.getBounds(this).xMax-kub.getBounds(this).xMin, y2:0, x3:100, y3:0, x4:100, y4:100, x5:0, y5:100, x6:0, y6:hit.getBounds(this).yMax-kub.getBounds(this).yMin};
kub.clear();
kub.lineStyle(2, 0xff00ff, 100);
kub.beginFill(0x0000ff);
kub.moveTo(kub.ob.x0, kub.ob.y0);
kub.lineTo(kub.ob.x1, kub.ob.y1);
kub.lineTo(kub.ob.x2, kub.ob.y2);
kub.lineTo(kub.ob.x3, kub.ob.y3);
kub.lineTo(kub.ob.x4, kub.ob.y4);
kub.lineTo(kub.ob.x5, kub.ob.y5);
kub.lineTo(kub.ob.x6, kub.ob.y6);
kub.endFill();
}
}
|
|
|||||
|
Регистрация: Dec 2002
Адрес: Сочи
Сообщений: 2,819
|
а чем тебе уровни не угодили????
с их помощью как раз и осуществл. Z сортировка......... |
|
|||||
|
2 Futs, не очень ясно зачем 'нужно именно без изменения уровней', точнее, совсем не ясно зачем изврат такой..,
но как вариант: this.createEmptyMovieClip("muv1_mc", 1);
this.muv1_mc._x = 0;
this.muv1_mc._y = 0;
this.muv1_mc.beginFill(0x000000);
this.muv1_mc.lineTo(100, 0);
this.muv1_mc.lineTo(100, 100);
this.muv1_mc.lineTo(0, 100);
this.muv1_mc.lineTo(0, 0);
this.muv1_mc.endFill();
this.createEmptyMovieClip("muv2_mc", 2);
this.muv2_mc.ob = new Object();
this.muv2_mc.ob = {x1:100, y1:0, x2:100, y2:100, x3:0, y3:100, x4:0, y4:0};
this.muv2_mc._x = 0;
this.muv2_mc._y = 120;
this.muv2_mc.beginFill(0x0000ff);
this.muv2_mc.lineTo(this.muv2_mc.ob.x1, this.muv2_mc.ob.y1);
this.muv2_mc.lineTo(this.muv2_mc.ob.x2, this.muv2_mc.ob.y2);
this.muv2_mc.lineTo(this.muv2_mc.ob.x3, this.muv2_mc.ob.y3);
this.muv2_mc.lineTo(this.muv2_mc.ob.x4, this.muv2_mc.ob.y4);
this.muv2_mc.endFill();
this.muv2_mc.onPress = function() {
this.startDrag();
};
this.muv2_mc.onRelease = function() {
this.stopDrag();
this.setUp(muv1_mc);
//brash();
};
MovieClip.prototype.setUp=function(mc){
var p=this.getBounds(_root);
var m=_root.createEmptyMovieClip('m',999);
with(m) {//рисуем мувик на все сцену с дыркой по габаритам мувика
beginFill(0),lineTo(Stage.width,0),lineTo(Stage.width,p.yMin),lineTo(0,p.yMin),lineTo(0,0),endFill();
moveTo(0,p.yMin);
beginFill(0),lineTo(p.xMin,p.yMin),lineTo(p.xMin,Stage.height),lineTo(0,Stage.height),lineTo(0,p.yMin),endFill();
moveTo(p.xMax,p.yMin);
beginFill(0),lineTo(Stage.width,p.yMin),lineTo(Stage.width,Stage.height),lineTo(p.xMax,Stage.height),lineTo(p.xMax,p.yMin),endFill();
moveTo(p.xMin,p.yMax);
beginFill(0),lineTo(p.xMax,p.yMax),lineTo(p.xMax,Stage.height),lineTo(p.xMin,Stage.height),lineTo(p.xMin,p.yMin),endFill();
}
mc.setMask(m);//ставим его маской для мувика, который нада перекрыть
}
|
![]() |
![]() |
Часовой пояс GMT +4, время: 06:56. |
|
|
« Предыдущая тема | Следующая тема » |
|
|