Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   Help! (http://www.flasher.ru/forum/showthread.php?t=50999)

lia 04.11.2003 20:16

Help!
 
Всем привет!
Я здесь совсем "свеженькая", также как и во флеше! :)
Очень нужна помощь !!!!!!!!!!!!!!!!!!

Помогите кто-нибудь сделать во Flash5 такое:

при нажатии на кнопку должна прокручиваться длииииинная картинка и останавливаться в определенном месте, при нажатии на любую другую кнопку (кнопок много), картинка должна плавно "приехать" к другой точке и.т.д.

Заранее очень благодарна!

Штрек 05.11.2003 00:55

В первом кадре фильма записываешь функцию движения
мувика по оси X
//функция двигает мувик с инстанс/именем/ clip на раст. delt_x

function move_x(clip, delt_x) {
poz_x = clip._x;
clip.onEnterFrame = function() {
if (Math.abs(clip._x-poz_x)<Math.abs(delt_x) && delt_x>0) {
// здесь 5 - скор. дв. клипа, надо быстрее, делаем допустим 10
clip._x += 5;
} else if (Math.abs(clip._x-poz_x)<Math.abs(delt_x) && delt_x<0) {
clip._x += -5;
} else {

delete onEnterFrame;
}
};
}

На кнопки вешаем скриптик/запуск функции move_x/

Напр.на кнопку1 вешаем
//вызываем функцию move_x с нужными аргументами
//clip - mc , delt_x=-50 , т.е.движ.влево
on (release) {
move_x(mc, -50);
}
На вторую, наприм.
//вызываем функцию move_x с другими аргументами
//clip - mc , delt_x=120 , т.е.движ.вправо
on (release) {
move_x(mc, 120);
}
Да, картинка должна быть мувиком с именем /Instance Name/ -
mc
ЗЫ. Полтора года как вышла прога Flash MX - c неё бы и начинала. ;)

Sanik 05.11.2003 01:18

Вложений: 1
Посмори вот это (гы.. второй раз за сегодня выкладываю...)
Простенько...
============================================
"Я здесь совсем "свеженькая""- прикольно звучит... :D

2K WebStudio 05.11.2003 01:31

Слышь!
Ты чё-то загнул...
зачем так сложно...
вот функция движения:
function zdvigpofaze () {
xv = (b_x-a_x)/t;
yv = (b_y-a_y)/t;
mc._x+=xv;
mc._y+=yv;
}
zdvigpofaze(a_x,a_y,b_x,b_y);

mc-это картинка...

вот полный скрипт, просто ставишь на первый кадр!
В 2004 работает... в MX тоже должен:)
for (i=0; i<5; i++) {
mc = _root.createEmptyMovieClip("mc"+i, 100+i);
_root["mc"+i].i=this.i;
with (mc) {
beginFill(0x999999, 100);
lineStyle(1, 0x000000, 20);
lineTo(50, 0);
lineTo(50, 50);
lineTo(0, 50);
lineTo(0, 0);
endFill();
_x = random(400);
_y = random(350);
createTextField("txt", 1, 10,10,20,20);
txt.text=this.i;
}
_root["mc"+i].onPress = function () {
b_x = this._x;
b_y = this._y;
zdvigpofaze(b_x, b_y);
};
}
function zdvigpofaze() {
_root.onEnterFrame = function() {
t=30;
xv = (b_x-mc0._x)/t;
yv = (b_y-mc0._y)/t;
mc0._x += xv;
mc0._y += yv;
};
}

Всегда люблю выкрутиться и нарисовать всё программно...
Извините, если что не так...

Sanik 05.11.2003 01:38

2K WebStudio Гыы... :D :D :D
ЗЫ У неё 5 Флэш!!! :D
Девушка! Ставь МХ!!!

2K WebStudio 05.11.2003 01:58

Ты бы так и объяснила, что slideShow нужен..

mc1 = _root.createEmptyMovieClip("all", 1);
for (i=0; i<=10; i++) {
mc = mc1.createEmptyMovieClip("mc"+i, i);
mc.i = this.i;
with (mc) {
beginFill(0x999999, 100);
lineStyle(1, 0x000000, 30);
lineTo(50, 0);
lineTo(50, 50);
lineTo(0, 50);
lineTo(0, 0);
endFill();
createTextField("txt", 1, 20, 17, 20, 20);
txt.text = this.i;
_x += 50*i;
_y += 100;
}
}
mc2 = _root.createEmptyMovieClip("msk", 2);
with (mc2) {
beginFill(0x000000, 50);
moveTo(200, 0);
lineTo(350, 0);
lineTo(350, 50);
lineTo(200, 50);
lineTo(200, 0);
endFill();
_y = 100;
}
_root.mc1.setMask(mc2);
up = _root.createEmptyMovieClip("up1", 5);
with (up) {
beginFill(0x000000, 30);
moveTo(200, 0);
lineTo(225, 0);
lineTo(225, 50);
lineTo(200, 50);
lineTo(200, 0);
endFill();
_y = 100;
}
up.onPress = function() {
_root.onEnterFrame = function() {
mc1._x -= 0.5;
if(mc1._x==-200){
delete onEnterFrame;
}
onMouseUp = function () {
delete onEnterFrame;
};
};
};
down = _root.createEmptyMovieClip("down1", 6);
with (down) {
beginFill(0x000000, 30);
moveTo(325, 0);
lineTo(350, 0);
lineTo(350, 50);
lineTo(325, 50);
lineTo(325, 0);
endFill();
_y = 100;
}
down.onPress = function() {
_root.onEnterFrame = function() {
mc1._x += 0.5;
if(mc1._x==200){
delete onEnterFrame;
}
onMouseUp = function () {
delete onEnterFrame;
};
};
};


Вот...
Тоже на первый кадр...

2K WebStudio 05.11.2003 01:59

Не очень многословно?
Нет?
:D

Штрек 05.11.2003 02:51

Чего вы тут по нагородили?
Не хамите. ;)

2K WebStudio 05.11.2003 11:27

Так!!!
Вопрос:
Что нужно? О чём вообще был вопрос?

lia 05.11.2003 14:44

Ну, ребята, СПАСИБО!

Даже не знаю с чего начать! То ли МХ поставить, то ли повеситься от такого изобилия. :D :D

Попробую разобраться!

Еще раз благодарю!


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

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