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

villa 10.02.2006 17:02

загрузка об'екта борохлит
 
а точнее объект не воспринимает _x _y
вот кусок кода
Код:

act = 0;
num=-1
itms = ["1.swf","2.swf","3.swf","4.swf"];
root.createEmptyMovieClip("container", 0);
container.createEmptyMovieClip("img", 0);
function preload(num) {
container.img.loadMovie(itms[num]);
container.fadeIn();
}
MovieClip.prototype.fadeIn = function() {
 this.onEnterFrame = function() {
  this._x = 366;
  this._y = 151;
  this._alpha<100 ? (this._alpha += 10, act=true) : (this._alpha=100, delete this.onEnterFrame, act=false);
 };
};
function fadeOut() {
 this.onEnterFrame = function() {
  container._alpha>0 ? (container._alpha -= 10, act=true) : (delete this.onEnterFrame, act=false, removeMovieClip(img), preload(num));
 };
}

в итоге 1,2 и 4 грузятся в нужные координаты, а 3 грузится в 0,0
все об'екты одинакового размера
где я не прав?

Leezard 10.02.2006 17:34

Назначение кода не понял, но в принципе все работает, особенно если
root.createEmptyMovieClip("container", 0);
исправить на
_root.createEmptyMovieClip("container", 0);
Все клипы грузятся в указаные координаты.
Вообще посоветую пользоватся MovieClipLoader.
На порядок удобней.

villa 10.02.2006 18:00

у меня так и написано
это я здесь опечатался
работает но с перебоями

Antares 10.02.2006 18:10

Может, прежде чем обращаться к загружаемому, надо отследить процесс загрузки? Я не увидил отслеживания в твоем коде.

Leezard 10.02.2006 18:13

Могу предположить что fadeIn отрабатывает раньше чем загружается мувик.
Условия работы из твоего кода непонятны. Вероятно ты что-то делаешь с альфой контейнера предварительно, иначе не понятен смысл пострений -this._alpha<100 ? (this._alpha += 10, act=true) : (this._alpha=100, delete this.onEnterFrame, act=false);
};

Leezard 10.02.2006 18:17

Хотя учитывая что грузится в container.img а меняются координаты container, должно работать.

villa 10.02.2006 18:59

Цитата:

Сообщение от Antares
Может, прежде чем обращаться к загружаемому, надо отследить процесс загрузки? Я не увидил отслеживания в твоем коде.

Я ж написал - это кусок кода
Код:


count = 0;
num = -1;
act = 0;
itms = ["1.swf","2.swf","3.swf","4.swf"];
_root.createEmptyMovieClip("container", 0);
function preload(num) {
 container.createEmptyMovieClip("img", 0);
 this.attachMovie("line", "line", 100);
 line._x = 500;
 line._y = 245;
 line.bar._xscale = 0;
 if (num != numb) {
  container.img.loadMovie(imts[num]);
  numb = num;
  this.onEnterFrame = function() {
  var l = container.img.getBytesLoaded();
  var t = container.img.getBytesTotal();
  prc = (l/t)*100;
  line._ball._alpha = prc;
  line.txt = int(prc)+" %";
  if (l && t && l>=t) {
        line.removeMovieClip();
        this.onEnterFrame = null;
        container.fadeIn();
  }
  };
 }
}
MovieClip.prototype.fadeIn = function() {
 this.onEnterFrame = function() {
  this._x = 366;
  this._y = 151;
  this._alpha<100 ? (this._alpha += 10, act=true) : (this._alpha=100, delete this.onEnterFrame, act=false);
 };
};
function fadeOut() {
 this.onEnterFrame = function() {
  container._alpha>0 ? (container._alpha -= 10, act=true) : (delete this.onEnterFrame, act=false, removeMovieClip(img), preload(num));
 };
}
fadeOut();

ты про это?

villa 10.02.2006 19:02

пробовал менять координаты img
результат тот же

Antares 10.02.2006 21:15

Возможно, я слепец, но я не вижу позиционирования. Вижу только некое бессмысленное присваивание одних и тех же координат каждый кадр, в них должен попадать ролик?

villa 10.02.2006 21:39

Цитата:

Сообщение от Antares
Возможно, я слепец, но я не вижу позиционирования. Вижу только некое бессмысленное присваивание одних и тех же координат каждый кадр, в них должен попадать ролик?

а это разве не оно:
Код:


MovieClip.prototype.fadeIn = function() {
this.onEnterFrame = function() {
this._x = 366;
this._y = 151;
this._alpha<100 ? (this._alpha += 10, act=true) : (this._alpha=100, delete this.onEnterFrame, act=false);
};
};



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

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