![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
[+6 16.05.06]
Регистрация: May 2004
Адрес: Россия
Сообщений: 175
|
Воспользовался советом Flash-гуру, которые раскритиковали меня и пытался сделать вот что:
Недавно я сделал нормальную подгрузку картинки, при нажатии на кнопку. Этот скрипт я хочу доработать таким образом, чтобы подгружаемый JPG-файл увеличивался от 10% своей площади до 100%. Вот код (красным изменения по поводу этой самой желаемой анимации): clip.loadImage = function(file)
{
this.image.removeMovieClip();
this.createEmptyMovieClip("image", 0);
this.image.loadMovie(file);
this.onEnterFrame = function()
{
var l = this.image.getBytesLoaded();
var t = this.image.getBytesTotal();
persent = Math.round(l*100/t);
tpers.text = persent + " %";
if (t>0 && l>=t) {
tpers.text = " ";
// загрузка закончилась
delete this.onEnterFrame;
// центровка
this.image._x -= Math.round(this.image._width/2);
this.image._y -= Math.round(this.image._height/2);
// анимация
var image_height: Number = this.image._height/10;
var image_width: Number = this.image._width/10;
while ((image_height = this.image._height) &&
(image_width = this.image._width)) {
this.image._height +=image_height;
this.image._width +=image_width;
this.setInterval(aaa, 500);
}; };
};
};
|
|
|||||
|
[+6 16.05.06]
Регистрация: May 2004
Адрес: Россия
Сообщений: 175
|
В конце вообще-то не 2 операторные скобки, а 4 должно быть...
|
|
|||||
|
[+6 16.05.06]
Регистрация: May 2004
Адрес: Россия
Сообщений: 175
|
2 silin:
Мой косяк, теперь заргузка есть, но все равно анимации нет. ![]() |
|
|||||
|
[+6 16.05.06]
Регистрация: May 2004
Адрес: Россия
Сообщений: 175
|
var image_height: Number = this.image._height/10;
var image_width: Number = this.image._width/10;
this.image._height = image_height;
this.image._width = image_width;
for (i=0; i<9; i++) {
this.image._height +=image_height;
this.image._width +=image_width;
this.image.setInterval(aaa, 5000);
};
this.image.setInterval(aaa, 5000); Как сделать задержку в N секунд (милисекунд), после каждого шага цикла? Подскажите... |
|
|||||
|
[+6 16.05.06]
Регистрация: May 2004
Адрес: Россия
Сообщений: 175
|
// анимация
function pauza(p) {
t = getTimer( );
for (i = t; i < t + (p * 1000); i = getTimer( )) {
}
}
var image_height: Number = this.image._height/10;
var image_width: Number = this.image._width/10;
this.image._height = image_height;
this.image._width = image_width;
for (i=0; i<9; i++) {
this.image._height +=image_height;
this.image._width +=image_width;
pauza(1);
};
Люди, подскажите... плиЗЗЗ! |
|
|||||
|
Цитата:
можно действия, выполняемые в цикле в сетинтвальную функцию засунуть: clip.loadImage = function (file) {
this.image.removeMovieClip();
this.createEmptyMovieClip("image", 0);
this.image.loadMovie(file);
this.onEnterFrame = function() {
var l = this.image.getBytesLoaded();
var t = this.image.getBytesTotal();
persent = Math.round(l*100/t);
tpers.text = persent+" %";
if (t>0 && l>=t) {
tpers.text = " ";
// загрузка закончилась
delete this.onEnterFrame;
// центровка
this.image._x -= Math.round(this.image._width/2);
this.image._y -= Math.round(this.image._height/2);
var s=this.image._xscale=this.image._yscale=10;
var img=this.image;
var intrv=setInterval(function(){
s+=10;
img._xscale=img._yscale=s;
if(s==100)clearInterval(intrv);
},500);
}
};
};
|
|
|||||
|
[+6 16.05.06]
Регистрация: May 2004
Адрес: Россия
Сообщений: 175
|
На странице:
http://www.flasher.ru/forum/showthre...EF%E0%F3%E7%E0 Прочитал и переделал свой код: clip.loadImage = function(file)
{
this.image.removeMovieClip();
this.createEmptyMovieClip("image", 0);
this.image.loadMovie(file);
this.onEnterFrame = function()
{
var l = this.image.getBytesLoaded();
var t = this.image.getBytesTotal();
persent = Math.round(l*100/t);
tpers.text = persent + " %";
if (t>0 && l>=t) {
tpers.text = " ";
// загрузка закончилась
delete this.onEnterFrame;
// анимация
var image_height: Number = this.image._height/10;
var image_width: Number = this.image._width/10;
this.image._height = image_height;
this.image._width = image_width;
var oldTime:Number= getTimer();
if (getTimer()-oldTime>500) {
this.image._height++;
this.image._width++;
}
// центровка
this.image._x -= Math.round(this.image._width/2);
this.image._y -= Math.round(this.image._height/2);
};
};
};
ПОМОГИТЕ, ЧЕЛОВЕК ПОГИБАЕТ!!! |
|
|||||
|
[+6 16.05.06]
Регистрация: May 2004
Адрес: Россия
Сообщений: 175
|
2 silin:
Спасибо. Работает. Последнее, а как сделать так, чтобы картинка при увеличении всегда была по центру, то есть видимо после каждого шага должна быть // центровка
this.image._x -= Math.round(this.image._width/2);
this.image._y -= Math.round(this.image._height/2);
![]() |
|
|||||
|
Регистрация: Mar 2006
Адрес: Odessa
Сообщений: 157
|
А скажи, только честно... Ты в школе арифметику проходил?
Найди учебники за 5-6 класс, найдешь там много интерестного для себя ![]() Вроде бы так... |
![]() |
![]() |
Часовой пояс GMT +4, время: 21:31. |
|
|
« Предыдущая тема | Следующая тема » |
|
|