PDA

Просмотр полной версии : Duplicate


Дарбаидзе_Эльдар
25.12.2003, 20:36
как при дубликации присвоить последующим дублированным объктам имена в алфавитном порядке?? :confused:
Заранее спасибо... :)

opex
25.12.2003, 21:35
не уверен что это решение рациональное но другого на ум не пришло


abc= "a", "b", "c", "d", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"];
for (i=0; i<25; i++) {
duplicateMovieClip(_root.muv, abc[i], i);
}

Дарбаидзе_Эльдар
25.12.2003, 23:26
Действительно не рационально...но том спасибо... =)) :p :p :p

opex
26.12.2003, 00:39
нет во флеше нет листания по алфовиту да ни в каком языке такой фишки нет да и зачем это надо обробатывать дублированные мувика будет сложнее лишни гемор и какая разница в нозвании мувика серовно клиент не видит эти названия так что нет ни какой разници если твои мувики будут называтся мув1 мув2 мув3 мув4 и т д или а б в г д

Дарбаидзе_Эльдар
26.12.2003, 01:33
Дык так удобней обращатся ...к мувику-то

opex
26.12.2003, 09:02
чем удобней то для оброшения к этому мувику тебе придется использовать массив а для мувиков с именем мув1 мув2 мув3 нужен только цикл
если имена с цифрами

for (i=0; i<25; i++) {
duplicateMovieClip(_root.muv, "muv"+i, i);
}

for(i=0;i<25;i++){
_root["muv"+i]._x ++;
}

а если имена без цифр а с буквами
abc= "a", "b", "c", "d", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"];
for (i=0; i<25; i++) {
duplicateMovieClip(_root.muv, abc[i], i);
}
for(i=0;i<25;i++){
_root[abc[i]]._x++;
}
во 2 случае мы и ресурсов потратим больше так что сам решай что тебе надо.

ultraflasher
26.12.2003, 15:54
Оригинал написал(а) opex
нет во флеше нет листания по алфовиту да ни в каком языке такой фишки нет да и зачем это надо обробатывать дублированные мувика будет сложнее лишни гемор и какая разница в нозвании мувика серовно клиент не видит эти названия так что нет ни какой разници если твои мувики будут называтся мув1 мув2 мув3 мув4 и т д или а б в г д

Можно перебор алфавита забубенить через таблицу ASCII. Мне влом, но кому надо - сделайте. У меня просто нет времени.

Mage Lord
26.12.2003, 16:23
Name = "mov"+String.fromCharCode(64+Index);

Index - порядковый номер буквы в алфавите. Английском ессно.
Если нужны маленькие буквы, то не 64, а 96

Какие проблемы?

ultraflasher
26.12.2003, 16:27
Yes, of course :D Я про это и говорил. :D

opex
26.12.2003, 18:46
я писал нет такой функции ни в одном языке который листает по буквам а твоё решение канечно рациональней

for (i=1; i<25; i++) {
trace(String.fromCharCode(64+i));
}
но проблема в том что масив по определению и есть таблица
а аскии это таблица тоесть массив и твоё решение точно такоеже как и у меня но смысл твоего что не надо создовать эту таблицу тка как ана уже есть у каждого пользователя и из этого следует что это не функция листания побуквам это просо новое решение этой проблемы
:) :) :)

Mage Lord
26.12.2003, 18:48
Зачем придумывать велосипед?

Дарбаидзе_Эльдар
26.12.2003, 19:38
Мда...Flash-Веселая штука =)) :p :p :p
Массивы ваще-многогранны- то и другое мона сделать..но я по крайней мере не могу даж сделать шлейф от мауса с помощью массивов.. :(

Mage Lord
26.12.2003, 20:00
5 минут работы \m/ \m/ ;)
Спешу, поэтому относительно неэффективно.

И зачем там массивы... ;)

Дарбаидзе_Эльдар
26.12.2003, 20:54
С массивами это получается более сжато..

opex
26.12.2003, 21:49
вот ты какой северный олень
ну и нах там масивы

Дарбаидзе_Эльдар
26.12.2003, 21:51
Я видел пару примерчиков такого мауса..но я в нем нихья не понял...вот так вот =((
Как вам мой новый профиль(РИСУНОК)?????

opex
26.12.2003, 21:58
1.не розобрался разбирайся
2.мне до твоего профиля =

Дарбаидзе_Эльдар
26.12.2003, 22:05
Короче вот пример с книги...:

1 кадр:
mouse.hide()
x=new array()
y=new array()
for(c=2;c<10;c++) {
duplicateMovieClip("clip1","clip"+c,c)
2 кадр:
x[10]=_xmouse
y[10]=_ymouse
for(c=1;c<10;c++) {
x[c]=x[c+1]
yc]=y[c+1]
setproperty("clip"+c,_x,x[c])
setproperty("clip"+c,_y,y[c])

opex
27.12.2003, 00:29
во первых код выгледит так
Mouse.hide();
x = new Array();
y = new Array();
for (c=2; c<10; c++) {
duplicateMovieClip("clip1", "clip"+c, c);
}
_root.onEnterFrame = function() {
x[10] = _xmouse;
y[10] = _ymouse;
for (c=1; c<10; c++) {
x[c] = x[c+1];
y[c] = y[c+1];
setProperty("clip"+c, _x, x[c]);
setProperty("clip"+c, _y, y[c]);
}
};
во вторых викень эту книгу потому что этот код будет в 1000 раз легче если его написать так
Mouse.hide();
i = 0;
_root.clip._visible = 0;
_root.onEnterFrame = function() {
i++;
duplicateMovieClip("clip", "clip"+i, i);
_root['clip'+i]._x = _root._xmouse;
_root['clip'+i]._y = _root._ymouse;
removeMovieClip(_root['clip'+(i-9)]);
};

Mage Lord
27.12.2003, 05:43
Оригинал написал(а) Дарбаидзе_Эльдар
С массивами это получается более сжато..
Пример в студию. Мну заинтригован по самые момидоры.

Mage Lord
27.12.2003, 06:06
А. Вижу. Не на той странице открыл. Я сразу предупредил что будет не совсем эффективно - это просто от балды налабал. Без претензий на идеальность. Тем более с точки зрения алгоритмизации - наиболее наглядно. ;)

Теперь по вашему "примеру из книги".
1) Работать не будет.
2) Работать не будет.
3) Работать не будет.

4) Если доделать эту идею до работающего состояния, то тем более не понятно зачем там массивы. Можно же напрямую обращаться к _х и _y.

Например код (с использованием этого алгоритма) может выглядеть так:

mouse.hide()
for(c=2;c<10;c++) {
duplicateMovieClip("clip1","clip"+c,c);
}
this.onEnterFrame = function () {
for(c=1;c<10;c++) {
this["clip"+c]._x = this["clip"+(c+1)]._x;
this["clip"+c]._y = this["clip"+(c+1)]._y;
}
this.clip10._x = this._xmouse;
this.clip10._y = this._ymouse;

Не претендую на абсолютную правильность - дома флеша нет, не проверить. Но полагаю идея понятна...

opex
27.12.2003, 10:51
ну а я про что масивы там нах не нужны выкень книгу

Дарбаидзе_Эльдар
27.12.2003, 13:54
там просто тема типа про массивы..

Дарбаидзе_Эльдар
27.12.2003, 13:56
И ваще мля не судите про меня строго с Флэшем я тока с MX'а знаком да ваще мне 13 лет.. =)))))) :p :p :p :D :D :D
Да и книга внатуре отстойная..Российского издания..каб наша была Белорусская.... =))))) ;)

opex
27.12.2003, 15:21
белорусии из отстой а белорусы отсояне :)

Дарбаидзе_Эльдар
27.12.2003, 16:48
Так же мона сказать и про Россию..хотя я там родился =))