Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Общие вопросы о Flash (не затрагивающие ActionScript) (http://www.flasher.ru/forum/forumdisplay.php?f=60)
-   -   загрузка параметров - почему не работает? (http://www.flasher.ru/forum/showthread.php?t=66440)

TryToBeASuperStar 06.07.2005 16:33

загрузка параметров - почему не работает?
 
Привет,



Прежде всего прошу не стирать тему (я сам её удалю как только получу ответ, если уж это так сильно засоряет форум), а также не хихикать и не стебаться, т.к. все когда-то начинают.


Есть mc и params.txt. Нужно загрузить параметры из текстового файла и в соответствии с ними продублировать и разместить (X,Y) мувиклип mc.

params.txt:
Цитата:

mcN=2&Y1=200&X1=-200&X2=30&Y2=-100&TestText=done&
загрузка в первом кадре сцены:
Цитата:

loadVariables("params.txt", this);
второй кадр сцены:
Цитата:

for (Temp=1; Temp<mcN; Temp++) {
duplicateMovieClip(_root.mc, "mc" + Temp, Temp);
setProperty ("mc" + Temp, _x, X + Temp);
setProperty ("mc" + Temp, _y, Y + Temp);
};
Или:
Цитата:

setProperty (_root.mc, _x, X1);
setProperty (_root.mc, _y, Y1);
Ничего не происходит - mc как стоял один на своём месте, так и стоит, ни дублированных клипов, ни передвижения первого нет.

Я бы начал грешить на загрузку... но в эту же сцену вставлено динамическое текстовое поле TestText, так оно всегда правильно отображает "done".

Где ошибка? Помогите сделать правильно, плиз.

KidsKilla 06.07.2005 16:35

stop();
loadVariables("params.txt", this);
this.onData = function(){
this.play()
}

TryToBeASuperStar 06.07.2005 17:04

спасибо. заработало.

непонимаю почему... ???

вы не могли бы объяснить подробно...

TryToBeASuperStar 06.07.2005 17:13

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

KUZEN 06.07.2005 17:17

разбивай а потом парси через "\n"

TryToBeASuperStar 06.07.2005 17:24

KUZEN
К сожалению, я не понял смысла этой фразы. Можно по-подробнее, пожалуйста.


Кстати вовращаясь к началу... дублирование работает, но перемещение не работает. :(

Так НЕ работает:
Цитата:

setProperty ("mc" + Temp, _y, "Y" + Temp);
Так работает:
Цитата:

setProperty ("mc" + Temp, _y, Y2);
Так смещает на значение Temp (1,2,3,4...):
Цитата:

setProperty ("mc" + Temp, _y, Y + Temp);

В чём ошибка?

Аркади 06.07.2005 17:33

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

TryToBeASuperStar 06.07.2005 18:16

Ну а сейчас-то почему не работает перемещение объекта???
Цитата:

setProperty ("mc" + Temp, _y, "Y" + Temp);
Просто получаю три mc на одно месте, ни один не сдвигается

???

dilsh 06.07.2005 18:22

ты побольше кавычек ставь
"y" энто же строка а не цихра
или это переменная типа Y1 Y2 если так
то кажись ты все через цикл делаешь наверное
во флеше циклы не катят
кидай исходник

KUZEN 06.07.2005 18:27

Цитата:

Сообщение от dilsh
ты побольше кавычек ставь
"y" энто же строка а не цихра
или это переменная типа Y1 Y2 если так
то кажись ты все через цикл делаешь наверное
во флеше циклы не катят
кидай исходник

Что значит циклы не катят, без них во флеше вообще никуда

dilsh 06.07.2005 18:52

я имею ввиду если поставишь фор и от 1 до 100
и внутри муви._икс=ай
ты ж не получишь плавного передвижения
если вообще получишь

KUZEN 06.07.2005 18:55

а собственно причём тут циклы и плавное движение

dilsh 06.07.2005 19:00

товарищь меняет значение ихрик т.е. Y у мувиклипа (см. выше)
предположение №1) он пытается его двигать
я и допустил что он сдела как в моем примене выше
засунул его в цикл
предположение №2) т.к. в прогах такие как делпхи вб и си делается с пом. цикла
то и здесь пытается сделать тоже самое

TryToBeASuperStar 06.07.2005 19:12

В самом начале всё подробно написано.

Координаты берутся из текстовика (X1, X2, Y1, Y2).

В текстовике:
Цитата:

mcN=2&Y1=200&X1=-200&X2=30&Y2=-100&TestText=done&
Код:
Цитата:

for (Temp=1; Temp<mcN; Temp++) {
duplicateMovieClip(_root.mc, "mc" + Temp, Temp);
setProperty ("mc" + Temp, _x, "X" + Temp);
setProperty ("mc" + Temp, _y, "Y" + Temp);
};
Если вместо ["X" + Temp] и ["Y" + Temp] написать просто [X1] и [Y1], то всё работает ок.

(Всё это уже было написано выше.)

Не понимаю почему не работает передвижение новых mc ???

dilsh 06.07.2005 20:14

просили же исходник кидай

TryToBeASuperStar 06.07.2005 20:18

Вложений: 1
вот.

только очень прошу объяснить где именно и что именно неправильно.

заранее спасибо.

dilsh 06.07.2005 21:49

Вложений: 1
лучше сравни со своим старым
поймеш
в основном насколько помню
не работало это "Y"+Temp она у тя стринговая получалась
нужно было либо эвалом либо дисом

TryToBeASuperStar 06.07.2005 22:42

Здорово, спасибо, только у меня почему-то не открывается.

Наверно версия Flash не та... у меня стоит FlashMX.

Можно под него?
Или прямо текстом тут...

dilsh 06.07.2005 22:47

Вложений: 1
открывается?

TryToBeASuperStar 07.07.2005 00:08

ОК, всё заработало только с таким видом обращения к переменным (X1,Y1):
Цитата:

setProperty("point"+Temp, _y, this["Y" + Temp]);
Вот такой он Flash - загадочный %)

Спасибо всем за участие.
Отдельное большое спасибо dilsh.
================================


Осталось два мааленьких вопроса по этой теме:
2. Как всё же разбивать данные в текстовом документе на разделы для удобства поиска и редактирования? (простой перенос по строкам не катит, т.к. переменные не считываются) Что за параметр /n ???
3. После окончания дублирования точек, при наведении на них, поверх будет появляться подсказка. Для каждой точки - свой текст из того же текстовика (data.txt). Как это реализовать??? Я вижу два варианта: а) использование конструктива для определения на какую точку сейчас наведена мышка, типа [onRollover{[name(this) - "point"} show mc_ballon] (как кстати это писАть?); б) при дублировании как-то сразу передовать каждому созданному клипу его порядковый номер (или даже весь всплывающий текст), который не надо будет в последствии вычислять.

Посоветуйте, пожалуйста.


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

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