Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Action script 2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=49)
-   -   Ещё один вопрос по функциям... (http://www.flasher.ru/forum/showthread.php?t=53417)

Nucer 07.01.2004 00:46

Ещё один вопрос по функциям...
 
Предположим, создаю я функцию:

function MyFunc ( MCname )
{
_root.createEmptyMovieClip ( MCname , 99 );

/* И тут собственно проблема: мне нужно совершать какие- либо действия ( рисовать, перемещать... ) с только что
созданным мувиком. Не знаю как указать флэшу имя этого
мувика.

Кто знает помогите уж пожалуйста.

Пушистик 07.01.2004 01:46

Код:

function MyFunc(MCname) {
    _root.createEmptyMovieClip("MCname", 99);
    _root["MCname"].lineStyle(0,0x000000,100);
    _root["MCname"].moveTo(0,0);
    _root["MCname"].lineTo(100,100);
}
MyFunc(mc);
_root["MCname"]._y=random(300);

-----------or---------

Код:

function MyFunc(MCname) {
    _root.createEmptyMovieClip("MCname", 99);
    _root["MCname"].lineStyle(0,0x000000,100);
    _root["MCname"].moveTo(0,0);
    _root["MCname"].lineTo(100,100);
}
MyFunc(mc);
function move() {
    _root["MCname"]._y=random(300);
    _root["MCname"]._x=random(300);
}
setInterval(move,1500);


Nucer 07.01.2004 11:58

Спасибо за дельный ответ

silin 07.01.2004 22:07

2Пушистик :а зачем параметр function MyFunc(MCname)?,
наверно вот так съедобнее
function MyFunc(mc) {
_root.createEmptyMovieClip(mc, 99);
_root[mc].lineStyle(0,0x000000,100);
_root[mc].moveTo(0,0);
_root[mc].lineTo(100,100);
}
MyFunc("xxx");
_root.xxx._y=400;

iLoveYou 07.01.2004 22:16

а почему не сделать функцию, возвращающую ссылку на вновь созданный мувик? и через ссылку потом работать -- удобнее, особенно если таких мувиков будет создаваться много, а не один.

_1_Maxim 07.01.2004 22:42

createEmptyMovieClip(mc, 99);

mc.anyMethod_of_mc;

P.S. Почему все рисуют в руте?

lexass 08.01.2004 10:15

Цитата:

Оригинал написал(а) _1_Maxim

P.S. Почему все рисуют в руте?

наверное для наглядности ;)

nuran 08.01.2004 12:23

Цитата:

Оригинал написал(а) Sergey"iLoveYou"
а почему не сделать функцию, возвращающую ссылку на вновь созданный мувик? и через ссылку потом работать -- удобнее, особенно если таких мувиков будет создаваться много, а не один.
А почему бы не рисовать в одном клипе? К примеру у меня все 3d бяки рисуются в одном клипе. Хотя сравнение наверно глупое ...

llllllllll 11.01.2004 17:46

Странно :), createEmptyMovieClip вроде как сам по себе возвращает ссылку на созданный мувик :)

ref = createEmptyMovieClip("mcName",1);
ref._x++;

...

iLoveYou 11.01.2004 17:59

Цитата:

Оригинал написал(а) llllllllll
Странно :), createEmptyMovieClip вроде как сам по себе возвращает ссылку на созданный мувик :)
ref = createEmptyMovieClip("mcName",1);
ref._x++;
...

о! хоть один меня понял.

_1_Maxim 11.01.2004 22:14

Цитата:

о! хоть один меня понял.
И меня тоже. Кстати, mcName-тоже своего рода ссылка!

Штрек 12.01.2004 21:48

Какой смысл создавать ф-цию,
которая принимает аргумент/имя мувика/,
а обратиться к рождённому муву по нему нельзя?
function MyFunc(MCname) {
_root.createEmptyMovieClip("MCname", 99);
_root["MCname"].lineStyle(0,0x000000,100);
_root["MCname"].moveTo(0,0);
_root["MCname"].lineTo(100,100);
}
MyFunc(mcc);
function move() {
_root.mcc._y=random(300);
_root.mcc._x=random(300);
}
setInterval(move,1500);/не работает
//где мув.с именем mcc?
//trace(_root.mcc) выдаёт undefined
Или у меня мозги настроены на AS0? :p

_1_Maxim 12.01.2004 22:11

Наверное прежде чем передавать аргумент в функцию его нужно определить?
типа:
var mcc=NULL;
MyFunc(mcc);

Или что-то в этом роде.

silin 12.01.2004 22:44

похоже пошли на второй круг:
function MyFunc(MCname) {
_root.createEmptyMovieClip(MCname, 99);
_root[MCname].lineStyle(0,0x000000,100);
_root[MCname].moveTo(0,0);
_root[MCname].lineTo(100,100);
}
MyFunc("mcc");
function move() {
_root.mcc._y=random(300);
_root.mcc._x=random(300);
}
setInterval(move,1500);// работает
//где мув.с именем mcc?
trace(_root.mcc);// выдаёт _level0.mcc

silin 12.01.2004 23:18

Цитата:

Оригинал написал(а) Sergey"iLoveYou"
а почему не сделать функцию, возвращающую ссылку на вновь созданный мувик? и через ссылку потом работать -- удобнее, особенно если таких мувиков будет создаваться много, а не один.
function MyFunc(mcname) {
return _root.createEmptyMovieClip(mcname, 99);
}
mcc=MyFunc("tmp");
trace(_root.tmp);// _level0.tmp
trace(_root.mcc);// _level0.tmp т.е. прото имеем еще одну ссылку

iLoveYou 13.01.2004 00:00

Цитата:

Оригинал написал(а) silin

function MyFunc(mcname) {
return _root.createEmptyMovieClip(mcname, 99);
}
mcc=MyFunc("tmp");
trace(_root.tmp);// _level0.tmp
trace(_root.mcc);// _level0.tmp т.е. прото имеем еще одну ссылку

простым нажатием Ctrl+Alt+V опровергнем твое предположение о двух ссылках:
Variable _level0.mcc = [movieclip:_level0.tmp]
Movie Clip: Target="_level0.tmp"

silin 13.01.2004 00:21

помедленнее, пожалуйста :
т.е. объект и ссылка ? ну и ..
или я не понял, че имелось ввиду, преимущество в чем ?

_1_Maxim 13.01.2004 12:28

:D :D :D

Зачем её делать если её имя-createEmptyMovieClip.

Цитата:

function MyFunc(mcname) {
return _root.createEmptyMovieClip(mcname, 99);
}
Это прикол! Классный велосипед получился! :D :D :D

_1_Maxim 13.01.2004 12:28

:D :D :D

Зачем её делать если её имя-createEmptyMovieClip.

Цитата:

function MyFunc(mcname) {
return _root.createEmptyMovieClip(mcname, 99);
}
Это прикол! Классный велосипед получился! :D :D :D

_1_Maxim 13.01.2004 12:39

:D :D :D

Зачем её делать если её имя-createEmptyMovieClip!

Цитата:

function MyFunc(mcname) {
return _root.createEmptyMovieClip(mcname, 99);
}
Это прикол! Классный велосипед получился! Такого я ещё не видел. :D :D :D

_1_Maxim 13.01.2004 12:56

Прошу прощения! Это не специально. Что-то со связью.

silin 13.01.2004 19:42

Цитата:

Оригинал написал(а) _1_Maxim
:D :D :D

Зачем её делать если её имя-createEmptyMovieClip!

:D :D :D

о чем и речь

iLoveYou 13.01.2004 20:29

Цитата:

Оригинал написал(а) silin
помедленнее, пожалуйста :
т.е. объект и ссылка ? ну и ..
или я не понял, че имелось ввиду, преимущество в чем?

Цитата:

Зачем её делать если её имя-createEmptyMovieClip!
правильно, не хрен спичками баловаться. зачем ссылки -- ведь можно напрямую к мувику обращаться, да. особенно, когда мувиков много и с длинными красивыми именами: _root.mc1.mcincluded1.mcsubincluded1, _root.mc1.mcincluded1.mcsubincluded2, _root.mc1.mcincluded2.mcsubincluded1... сейчас мы их всех пересчитаем.. как там.. ээээ.. фор(вар и ин рут) .. эй, подсказывайте. ой, а внутри мувика еще один мувик. какая неожиданность.. черт, где мой любимый эвал?
%)

silin 13.01.2004 20:46

да никто, собственно, и не против ссылок , a=_root.mc1.mcincluded1.mcsubincluded2 и дело на сторону..

iLoveYou 13.01.2004 21:02

у меня чувство, что сейчас с разными людьми разговаривал :rolleyes:

silin 13.01.2004 21:08

сори, я просто не понял к чему этот огород с функциями, возвращающими ссылку, хотя сначала надо бы и попробовать, может оно и удобно..


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

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