PDA

Просмотр полной версии : как поймать центр


Illyxa
08.12.2007, 19:16
Как мене можно вывести увеличение всех мувиков поцентру цены
все перепробывал
var ms = new Array (_root.mc1, _root.mc2, _root.mc3, _root.mc4, _root.mc5, _root.mc6, _root.mc7, _root.mc8);
function scaleplus (name) {
name.onEnterFrame = function () {
if (this._xscale < 250) {
this._xscale += 10;
this._yscale = this._xscale;
}
};
}
function scaleminus (name) {
name.onEnterFrame = function () {
if (this._xscale > 100) {
this._xscale -= 10;
this._yscale = this._xscale;
}
};
}
for (i in ms) {
ms[i].onRollOver = function () {
scaleplus (this);
this.swapDepths (_parent.getNextHighestDepth ());
this.updateAfterEvent ();
};
ms[i].onRollOut = function () {
scaleminus (this);
this.swapDepths (this.getInstanceAtDepth ());
this.updateAfterEvent ();
};
}


Вот примерчик слепил для теста галереии сразу скажу не для слабонерных мож как нибуть можно че за чудить с масивом так чтобы картинки при увилечении выравнивались по центру а при уменьшении вожрашались на исходные места

wvxvw
08.12.2007, 19:26
В твоем случае лучше просто зайти в редактирование символа -> Cntrl+K -> закликнуть Align to Stage -> center horizontal, center vertical.
И во избежание неприятностей я бы сменил картинку в примере. =/

Illyxa
08.12.2007, 19:42
Ни фига не помогает как можно точку регистрации мувика начать увеличевать с нужного угла

koIIImarik
08.12.2007, 20:23
Я вообще не понял что тебе нужно, если, вычислить как-то центр объекта, то, если внутри объекта всё выравнено по левому верхнему углу (по умолчанию), примерно так:
varCentrX = obj_mc._x+obj_mc._width/2;
varCentrY = obj_mc._y+obj_mc._height/2;

Fl00r
08.12.2007, 20:24
А если тупо смещать по координатам?

this._x -= 5;
this._y -= 5;


В результате это выглядит так

var ms = new Array (_root.mc1, _root.mc2, _root.mc3, _root.mc4, _root.mc5, _root.mc6, _root.mc7, _root.mc8);
function scaleplus (name)
{
name.onEnterFrame = function ()
{

if (this._xscale < 250)
{
this._xscale += 10;
this._yscale = this._xscale;
this._x -= 5;
this._y -=5;
}
};
}
function scaleminus (name)
{
name.onEnterFrame = function ()
{
if (this._xscale > 100)
{
this._xscale -= 10;
this._yscale = this._xscale;
this._x += 5;
this._y +=5;

}
};
}
for (i in ms)
{
ms[i].onRollOver = function ()
{
scaleplus (this);
this.swapDepths (_parent.getNextHighestDepth ());
this.updateAfterEvent ();
};
ms[i].onRollOut = function ()
{
scaleminus (this);
this.swapDepths (this.getInstanceAtDepth ());
this.updateAfterEvent ();
};

}

Illyxa
09.12.2007, 15:33
А если тупо смещать по координатам?
Код:
this._x -= 5;
this._y -= 5;
Тогда верхнии и нижнии вылазят за границы поэтому не катить!
Я вообще не понял что тебе нужно, если, вычислить как-то центр объекта, то, если внутри объекта всё выравнено по левому верхнему углу (по умолчанию), примерно так:
varCentrX = obj_mc._x+obj_mc._width/2;
varCentrY = obj_mc._y+obj_mc._height/2;
и как мне можно поменять по умолчанию на мне нужный мне угл

koIIImarik
09.12.2007, 19:09
Я не понимаю вас во второй раз =)
По умолчанию все объекты в MovieClip'аъ располагаются от верхнего левого угла. Если вы не меняли это "умолчание" то пользуйтесь кодом. Вы вообще пробовали мой код прописать?