Просмотр полной версии : Проблема с измерением
Люди, хелп ми, плз!
Есть проблема: три емкости, в них по очереди наливают жидкость (виртуальную :-). Если уровень примерно одинаков - то победа, если нет - лажа. Какую единицу измерения взять за основу, что сравнивать: время, координаты...
Если кто видел что-либо подобное на флеше - бросьте ссылочку, плз, а то зашиваюсь совсем.
%
А вообще-то за основу взять можно все!
[subway]design
28.03.2002, 11:54
Принимай виртуальную единицу - переменную level, потом на ее основании сможешь рисовать жидкость, сравнивать и проч. и проч.
Да это все классно, конечно, но, други, как это реализовать практически??? Ну хоть что-нибудь конкретное!!!
[subway]design
28.03.2002, 12:50
Но, друг, откуда мы знаем ЧТО КОНКРЕТНО ТЕБЕ НАДО С ЭТОЙ ПЕРЕМЕННОЙ ДЕЛАТЬ И НАФИГА ВООБЩЕ ЭТА ПРОГРАММА?
Если пояснишь, может помогу.
Суть в следующем: нужно сделать что-то типа игрушки на флеше - три стакана, бутылка. Берешь бутылку, наливаешь по очереди во все емкости. Если попал - приз, не попал - трай эгейн или еще чего.
Если все не так просто, то возможен разговор о $ (не о больших, конечно, чел я не богатый :-)
[subway]design
28.03.2002, 14:04
За такую тупую игру $? Да, это смешно.
В-общем я бы сделал так: 3 стакана - одни мув stakan. В нем анимация - жидкость с нуля поднимается до 100%.
Когда чел начинает пользоваться бутылкой ты начинаешь отсчет.
В качестве таймера сделай мувик controller и в нем - 2 кадра, в котрых проигрывается АС, допустим stakany[x]++; stakany - это массив тех самых переменных о которых ты спрашивал. Когда тебе надо запустить таймер, ты просто делаешь аттач этого контроллера из библиотеки (_root.attachMovie("controller","ctrl",99); ) и говоришь ему: _root.ctrl.x=0;, что значит, что ты хочешь изменять первый стакан (0 - нулевой массив массива stakany). Когда этот контроллер досчитает до какого-то предела (этот предел тоже можно передавать извне), то он делает что-то нехорошее :) Например, вызывает какую-то функцию _root.stop_it(). А когда пользователь сам перестает лить, то должно сработать событие, вызывающее функцию контроллера "самоуничтожение" - например, _root.ctrl.delete_me();
Тот элемент массива, который увеличивался в контроллере, ты можешь использовать для проигрывания анимации в нужном стакане
Например:
У тебя есть три стакана: s0, s1, s2. Они лежат в руте. Когда контроллер изменяет stakany[x], он может также изменять стаканы:
_root.["s"+x].gotoAndStop(x);
Ну и все это в 2х кадрах, которые постоянно проигрываются с заданным фпс.
В руте осталось воткнуть: stakany = new Array(3);
И все! Потом из других клипов, рута и откуда угодно ты можешь получить значение "кол-во воды в конкретном стакане", выраженное эл-том массива.
И еще: х, который ты передаешь контроллеру, является идентификатором эл-та массива и конкретного мува-стакана. Получить этот х ты можешь, проанализировав кнопку, на которую нажал пользователь, когда выбирал стакан. Или вроде того.
Спасибо большое! Буду пробовать. Я, вообще-то дизигнер, а не программер, и мои познания в AC дальше Load-UnLoad не идут, блин. Спасибо в любом случае!!!
Но, если что-то не срастется у меня, ну вообще никак, то куда тебе черкнуть (мыло ведь есть мое, может закинешь свой мейл?)
[subway]design
28.03.2002, 14:51
В профайле лежит
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.