Просмотр полной версии : Зависимость событий, запись, результат
Привет всем! вот второй день ломаю голову, и не могу подойти к даному вопросу!
В прикрепленном файле, своего рода пирамидка, спускаясь уровнем ниже, выбираешь нужный квадрат, и взависимости, от того что ты навыбирал, внизу, появиться фигура, из библиотеки!
Проблема в том что я не знаю как подойти к данной ситуации!
Создовать переменный, которые несут в себе значение (Number), ... тоесть, чтобы появился "красный круг" нужно набрать 25-й очей, "квадрат" 40 очей)
Либо как то можно использовать "intancee name" или "identifier linkage" ?
Я в прогрмировни, не силеню, подскажите как подойти к решению!
Спасибо!
Вообщем проблемку решил, появилась вторая, мне не нравиться как пришлось разбросать код, аж на три кадра, как можно его упростить!
з.ы. вот исходник, до этого случайно не выложил!
Упростить можно. По нажатию на кнопку вызывать функцию, которая:
1. выключит эту кнопку
2. приаттачит нужные мувики из библиотеки
3. задаст их поведение при нажатии, наведении и т.п.
А чтобы сделать код универсальным, надо эту функцию написать универсально (или класс). Чтобы она была одна и подходила для любого уровня "пирамиды".
Хранить структуру "пирамиды" тоже, судя по всему, придется где-то. Универсально грузить её извне в виде хмл, например.
nyctota спасибо! Учту на будущие, ибо уже начал код, такого вида, впихивать в приложение, нету к сожаленю время уже переделать!
Вообщем, во втором кадре, появляются две кнопка "a" и "c" при нажатие по одной из них, проверяется условие, которое расположено в третьем кадре: (я его сократил, то не нужным оказалось)
if (block[1] == "a") {
_root.attachMovie("krug_1","krug_1",this.getNextHighestDepth(),{_x:50, _y:100});
};
};
if (block[1] == "c") {
_root.attachMovie("krug_2","krug_2",this.getNextHighestDepth(),{_x:50, _y:100});
};
}
после проверки массива на наличие, того иои иного "string", он аттачит картинку!
Так вот проблема, если, кнопка "с" будет вести на на 4-й кадр, условие просто не выполниться! Мне теперь для каждого кадра писать все необходимые "if" и "else" это же жестока, как правильно сделать так, чтоб проверяла массив, который расположен водном месте, на наличие того или иного "string", и вызвать это функцию можно было бы, из любого кадра, банальным образом "function () {}" подскажите! Как этот цикл сделать: :)
В первом кадре — массив и функция проверки. И обращайся к ним из любого.
А вообще не нужно прыгать на кадры, чтоб проверять условия: можно делать это по нажатию на кнопки.
Вот я тут почитал, сделал так:
proverka = function () {
for (i=0; i<al; i++) {
if (str == dom[i]) {
trace("OK in "+i);
_root.attachMovie("krug","krug", this.getNextHighestDepth(),{_x:50, _y:60});
};
}
блин кажись я понял ошибку ... не объявлена переменная
Вообще-то создающая функцию конструкция должна выглядеть приблизительно так:
function proverka() {
for (i=0; i<al; i++) {
if (str == dom[i]) {
trace("OK in "+i);
_root.attachMovie("krug","krug", this.getNextHighestDepth(),{_x:50, _y:60});
};
}
Остальное все еще более запутанно.
nyctota, не могли бы пояснить, как лучше реализовать это!
Ибо я не програчист, в этой среде я рисую и анимирую, поэтому мне тяжело дается, а времени мало, второй день ломаю голову, читаю книгу!
так быстро мне не освоиться! :)
Если не программист, то не парься насчет того, что пришлось код разбросать по кадрам, потому что в противном случае придется становиться хотя бы немного программистом и программировать, программировать.. :)
кому интересно, это было реализовано так!
в первом кадре :
function setPosition (x, y) {
this[myVar]._x = x;
this[myVar]._y = y;
ошибка: _root.idLib._y = y;
исправлено: this[myVar]._y = y;
на кнопке:
on (release){
_parent.attachMovie("krug", "krug", 1);
_global.myVar = "krug";
_parent.setPosition (300, 50);
trace(myVar);
}
Подскалал наш арт!
Ошибка была простая, не объявил переменную, и уже запустил функцию (поменялись строчки местами)
з.ы. и стоит после этого удивляться что аниматоры, и всякие творческие личности уходят с этого сайта (создать раздел ... и т.п.), когда им не могут даже подсказать такие простые вещи, ведь здесь достаточно гуру, которые это знали!? :(
з.ы. и стоит после этого удивляться что аниматоры, и всякие творческие личности уходят с этого сайта (создать раздел ... и т.п.), когда им не могут даже подсказать такие простые вещи, ведь здесь достаточно гуру, которые это знали!? :(Я бы обратил выше внимание на то, что сейчас:
1. Предновогодняя пора и все завалены Срочной работой.
2. У кого то надвигает сессия или уже идет.
3. Просто новогдняя суета.
Поэтому сейчас многие люди просто не в состоянии уделять форуму достаточно внимания, как в обычное время.
Да, действительно, работы полно, и у меня моЗГ протестует против всяких "_global", "on(release)" и прочего. Читать и понимать отказывается. :) Так что вникнуть в тему целиком я не могу, а на конкретные вопросы постараюсь ответить.
АРА, раз уж ты докумекал передавать в функцию координаты мувика, то что тебе мешало сообразить передавать туда и его идентификатор?
Однако это не значит, что не надо правила игнорировать.
Для ARA: Надо использовать кнопку http://www.flasher.ru/forum/images/russian/style3/buttons/edit.gif, а не надо создавать несколько сообщений подряд. Таким же образом можно удалить сообщение, если оно потеряло актуальность.
Для nyctota: На данном форуме есть слово моЗГ, читайте первый пункт правил и исправляйте свое сообщение.
что тебе мешало сообразить передавать туда и его идентификатор?
всякое бывает :) не опытность эх)
Таким же образом можно удалить сообщение, если оно потеряло актуальность.
понял!
есть ещё проблемка, я так пологую из области видимости!
В этот раз два объекта на столе, в одном кнопка, пытаюсь загрузить круг в верхнею рамку, но покакой-то причине координаты не передаются в функцию!
Если загружать в корень. то всё нормально, уже всё перепробовал, опередите меня в ответе :)
Кадр:
function setPosition (x, y) {
this[myVar]._x = x;
this[myVar]._y = y;
};
кнопка:
on (release){
_parent._parent.vot.attachMovie("krug", "krug", 1);
_global.myVar = "krug";
_parent._parent.setPosition (10, 10);
trace(myVar);
}
спасибо!
ребят, ни кто не знает как сделать?
з.ы. извиняюсь за подъем темы!
ARA отправляется в космос.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.