![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Mar 2006
Сообщений: 7
|
Хочу сделать простую игрушку для дочки, суть в следующем. Есть печка-символ и есть продукты мувики. Нужно перетащить на печку определенные продукты и тогда переход на следующий кадр с готовым к примеру тортом, я знаю как сделать простое пересечение двух символов, а не пойму как сделать так чтоб символ пересекался с несколькими и тогда только происходило действие. Подскажите пожалуйста.
|
|
|||||
|
блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
|
Если не получится вот так, то привидите код и расскажите подробнее про количество перетаскиваемых объектов и их необходимые сочетания, постараемся помочь.
myDraggedObject, someOtherObject и oneMoreObject - это instance name`ы у мувиклипов на сцене.
__________________
hauts.ru |
|
|||||
|
[+5 27.02.11]
[+ 26.04.11] |
попробуйте задать нечто вроде переменных-рецептов.то есть:
var cur_meal:String="";//переменная в которой вы можете хранить то что сейчас готовится //..допустим при пересечении масла с печкой cur_meal+="maslo"; //после пересечения с картошкой cur_meal+="kartoshka"; //потом при нажатии кнопки "готовки" if(cur_meal=="maslokartoshka" || cur_meal=="kartoshkamaslo") { //переход на кадр с жареной картошкой } этот подход еще удобен тем,что можно регулировать очередность добавления сырья в печку) возможно это попроще чем предлагает Hauts
__________________
Незнание правил освобождает от ответственности. Последний раз редактировалось temofony; 25.02.2011 в 22:11. |
|
|||||
|
блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
|
На самом деле реализация кода упирается в два ключевых вопроса: количество инградиентов для создания нового блюда (переход на новый кадр) и критичность последовательности "смешивания".
temofony, это зло: if(cur_meal=="maslokartoshka" || cur_meal=="kartoshkamaslo") { //переход на кадр с жареной картошкой } ![]() Что, если 4 инградиента будет? Или 10? Думаю, что правильнее было бы так: Любой объект, который можно перетащить, когда его отпускают над печкой, запускает функцию addMe со своим типом (например "potato"), и этот тип записывается в массив текущих инградиентов. Ну и тут же сравнивается с массивом необходимых для блюда инградиентов. Сравнивать проще всего так — сортируем массив с текущими элементами по алфавиту и сравниваем строки после Array.join("") для обоих массивов. Понимаете, про что я? var currentMeat = []; var needMeat = ["apple", "babanas", "citrus"]; function addMe(type:String, preventMultiply:Boolean) { if (preventMultiply == undefined) { preventMultiply = true; } if (preventMultiply) { if (needMeat.join("").indexOf(type)>-1) { return; } } currentMeat.push(type); testMeatComplete(); } function testMeatComplete() { if (currentMeat.sort().join("") == needMeat.join("")) { // Блюдо готово } else { // Блюдо не готово } }
__________________
hauts.ru Последний раз редактировалось Hauts; 25.02.2011 в 22:28. |
|
|||||
|
[+5 27.02.11]
[+ 26.04.11] |
да,конечно если ингридиентов много,то количество вариаций для проверки будет огого каким.Но из этой проблемы можно выйти не замарав перчаток-каждое блюдо должно готовится с определенной последовательностью элементов(ведь так и в реальной жизни,не так ли?).А через массивы контролировать "правильность" готовки готового произведения кулинарного искусства будет на порядок сложнее.(можно еще реализовать кадр с эдакой пригоревшей бурой кашицей при не true приготовлении
)
__________________
Незнание правил освобождает от ответственности. |
|
|||||
|
Регистрация: Mar 2006
Сообщений: 7
|
Спасибо большое, что ответили. Да мне простой вариант, во вложении пример. Там на символ нужно перетащить символы по списку и в результате переход на следующий кадр.
|
|
|||||
|
Регистрация: Mar 2006
Сообщений: 7
|
Спасибо, разобралась, все получилось :-)
|
![]() |
![]() |
Часовой пояс GMT +4, время: 01:16. |
|
|
« Предыдущая тема | Следующая тема » |
|
|