![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|
|
|||||
|
Регистрация: Mar 2007
Сообщений: 46
|
не могу понять что не так делаю в onMouseWheel ? вниз кручу нормально, а вверх нет.
пробовал уже по разному... ошибка рядом, а где не вижу... var grund:MovieClip = this.createEmptyMovieClip("grund", 1);
var zone:MovieClip = box(grund, 660, 490, Math.random()*0xFFFFFF, 0);
grund._x = Stage.width/2-grund._width/2;
var items:Array = new Array();
for (var i:Number = 0; i<10; i++) {
var boxi:MovieClip = box(zone, 660, Stage.height/3, Math.random()*0x0000CC, 100);
boxi._y = boxi._height*i;
var pic:MovieClip = box(boxi, 180, 120, Math.random()*0xF5F5F5, 100);
pic._x = pic._y=20;
items.push(boxi);
}
var mouseListener:Object = new Object();
mouseListener.onMouseWheel = function(wheel) {
for (var i:Number = 0; i<items.length; i++) {
items[i]._y += int(boxi._height);
}
var per:MovieClip = items[0];
var posl:MovieClip = items[items.length-1];
trace(per);
if (wheel>0) {
per._y = -posl._y+posl._height;
var boxi:Object = items.shift();
items.push(boxi);
trace("Крутим колесо вверх");
} else {
posl._y = per._x-posl._height;
var boxi:Object = items.pop();
items.unshift(boxi);
trace("Крутим колесо вниз");
}
};
Mouse.addListener(mouseListener);
function box(_tar:MovieClip, width:Number, height:Number, fon:Number, alf:Number):MovieClip {
var depth:Number = _tar.getNextHighestDepth();
var mc:MovieClip = _tar.createEmptyMovieClip("mc_"+depth, depth);
mc.beginFill(fon,alf);
mc.moveTo(0,0);
mc.lineTo(width,0);
mc.lineTo(width,height);
mc.lineTo(0,height);
mc.lineTo(0,0);
mc.endFill();
return mc;
}
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Неудивительно, ведь у всех items «_y» только прибавляется.
|
|
|||||
|
Регистрация: Mar 2007
Сообщений: 46
|
а можно еще как то помочь?
в первом условии сделал if (wheel< -per) {...} а у меня один клип куда то девается при прокрутки сначала. Добавлено через 2 минуты iNils спасибо поправил на «_y», перестал пропадать клип. __etc кажется я поторопился... теперь у меня все клипы двигаются вниз... попробую совет iNils если есть еще советы я выслушаю, потому что я еще не до конца понял Последний раз редактировалось DrugON; 01.11.2008 в 19:43. Причина: Добавлено сообщение |
|
|||||
|
Регистрация: Mar 2007
Сообщений: 46
|
У меня вот такой ужас('море' циклов) получился... причем вроде даже работает
![]() как правильно сделать? нужен совет и какой-нибудь пример. Спасибки! var mouseListener:Object = new Object();
mouseListener.onMouseWheel = function(wheel) {
var per:MovieClip = items[0];
var posl:MovieClip = items[items.length-1];
var ss = posl._y+posl._height;
if (wheel<0) {
for (var i:Number = 0; i<items.length; i++) {
items[i]._y -= 20;
}
} else {
for (var i:Number = 0; i<items.length; i++) {
items[i]._y += 20;
}
}
if (per._y == 20) {
for (var i:Number = 0; i<items.length; i++) {
items[i]._y -= 20;
}
} else if (Stage.height>=ss) {
for (var i:Number = 0; i<items.length; i++) {
items[i]._y += 20;
}
}
//updateAfterEvent();
};
Mouse.addListener(mouseListener);
|
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
А держать все клипы в одном большом и его туды-сюды не пробовали? ))))
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Mar 2007
Сообщений: 46
|
пробовал... но тогда все куда-то смещается, такое ощущение что цикл повторяется два раза. или накладывается... еще не понял
|
![]() |
![]() |
Часовой пояс GMT +4, время: 20:45. |
|
|
« Предыдущая тема | Следующая тема » |
|
|