Просмотр полной версии : Странный тамагочи
Доброго всем времени суток. У меня получается неприлично длинный вопрос, но я прошу проявить терпение по отношению к совершенному новичку :). Так вот. Мне нужно создать игрушку - некое подобие тамагочи. Ребенок его кормит, а он от этого растет. Ребенок заставляет заниматься спортом - а он худеет от переутомления и так далее. В игре присутствуют две "линии управления" - во-первых, на экране всегда есть кнопки "Кушать", "Заниматься спортом", каждая из которых открывает экран с выбором меню, и каждый выбранный пункт должен влиять на внешний вид этого самого тамагочи (то есть, если ему предложен пятый гамбургер за последние полчаса, то его видимо разносит, а цвет лица становится очень нездоровым :)). Но, кроме того, в определенное время должны выскакивать просьбы тамагочи о еде, а также вопросы о том, что ему предпочтительнее сделать в данный момент времени (например: "Мы с другом хотим отправиться в путешествие. Мне выбрать поход или поездку на автобусе?" Естественно, выбор опять меняет внешний вид существа. Хотелось бы, чтобы перед тем, как этому вопросу появиться, менялась бы и картинка - для логичности. Скажем, вопрос о том, сдавать ли зачет сегодня, было бы здорово задать на фоне школы).
Внимание, вопросы
1. Как сделать, чтобы я при нажатии на любую из созданных мной кнопок могла изменить цвет, толщину и изгиб губ существа?
2. Что написать, чтобы автоматически в случайном порядке выбирались и показывались пользователю вопросы (вот эти, о путешествии)?
3. Как заставить Flash понимать иврит?
4. Нужна некая функция, которая будет видеть нажатия на все кнопки и в зависимости от них считать, как будет выглядеть существо. Еще и ему об этом говорить. Куда мне ее вставить?
Заранее очень благодарна. Извините, что так длинно. Я действительно новичок, и мне сложно определить, что важно, а что нет. Для иллюстрации высылаю картинку. Никакого кода там нет, я пока не умею. Просто училась обращаться с инструментами
artfla$her
31.05.2004, 00:56
Картинка просто СУПЕР! Скачивал правда долго..... Ты в следующей раз хоть поменьше файлы прикрепляй :D :D
Ладно, это я так. Отвечу, на что успею. Если хочешь сделать случайные вопросы своему зверю, то надо сначала создать массив этих вопросов, типа
questionsArray = ["Как тебя зову-у-ут?", "Пойдем сегодня пить?", "Сколько часов ты сидишь за компьютером?", "Кто автор этого тамагочи?"];
Далее вот так определяется случайный вопрос (вернее, его текст)
nowQuestion = questionsArray[random(questionsArray.length)];
Если хочешь прикрепить к каждому вопросу еще какой-то параметр, используй многомерный массив, например
questionsArray = [ ["Как тебя зову-у-ут?", "00:00:12"]];
Здесь во втором элементе первого элемента :) задно время, когда этот вопрос может выскочить. Обратиться к элементу многомерного массива можно так (на предыдущем примере показываю)
questionsArray[0][1] // - это время вопроса
Нажатия всех кнопок просто можно обработать функцией-обработчиком события OnMouseDown для _root-а.
_root.onMouseDown = function(){
acceptIsClick ? trace("Нажата кнопка принять") : "";
closeIsClick ? trace("Кнопка закрыть") : "";
}
Соответственно на кнопки повесь включение этих переменных, на accept - acceptIsClick = 1; и тп.
Цвет губ меняем переходом на кадр - gotoAndStop(N);
Извиняюсь за очепятки, тороплюсь. :)
в следующей серии мы расскажем о том, как научить тамогочу отправлять маме эсэмэски на мобилу и мессаги по емайлу, с жалобами о том, сколько гамбургеров пришлось слопать по желанию дитятки. :)
Просто шутка юмора вылезла после прочтения поста.
З.Ы. А почему бы не организовать массовое участие флэшеров в написании тамогочи на радость маме и малютки?
Сказать, что я благодарна - это просто промолчать. Я очень, очень благодарна, откровенно говоря, я была практически уверена, что ни у кого не хватит терпения такое длиннющее читать :) вот.
По поводу рисунка и впрямь неладно как-то вышло, даже я и не знаю, почему он не прикрепился. Но это к лучшему, рисовать я, к сожалению, не умею.
"организовать массовое участие флэшеров в написании тамогочи на радость маме и малютки" - было бы здорово.
У меня есть еще вопросы.
1. Я не могу изменить губы просто проигрыванием другого кадра, в котором губы уже изменены. Изменения тут не нарисованные, а программные. То есть губы кривятся тем сильнее, чем в более стрессовом состоянии зверюга. На каждый стрессовый вопрос вешается определенный стрессовый балл, и уголки губ опускаются тем ниже, чем больше ответов, влекущих стресс, ввел ребенок. И наоборот. Вид губ определяется значением переменной Уровень_Стресса. Как с этим поступить?
2. Вопросы, которые случайно вылетают, должны, я думаю, выглядеть как стандартные мессаги Виндоус, например, но под ними картинка все равно должна быть (например, если сейчас "свободное время" по графику, то случайно вылетает вопрос "Я собираюсь в путешествие. Мне ехать или остаться смотреть ТВ?" Если выбор ребенка - "Смотреть ТВ", то картинка меняется на ТВ, а сообщение пропадает. И, соответственно, зверь "поправляется" и цвет его лица тоже делается не ахти). Это вообще возможно?
3. Функция-обработчик события увидит все кнопки? Во всех кадрах? А где ее положить, чтобы видела? (наверное, это я не должна спрашивать, но в книге как-то не описаны такие случаи странные :) или концептуальное решение неправильное :( )
Простите мне мою навязчивость, но других знакомых флешеров у меня нет :)
Я не могу изменить губы просто проигрыванием другого кадра, в котором губы уже изменены.
Очень даже можно. Пускай у Уровень_Стресса(MAX) = 10. Тогда десять нарисованных кадров помогут отцу русской демократии. На крайний случай shape или motion tween применить.
3. Функция-обработчик события увидит все кнопки? Во всех кадрах? А где ее положить, чтобы видела?
кнопку можно положить в отдельный слой, присутствующий во всех кадрах
artfla$her
01.06.2004, 00:30
Используй глобальные переменные - _global.myVar. Можно также, если кнопка имеет большую вложенность, использовать _parent.myVar - ссылку на внешний клип. Если уж так хочется сделать программное искривление рта и других органов тамагочи, можно применить curveTo() - рисование кривых. Не помню уже ни параметров, ни действия этого метода... Поэксперементируй. А картинку можно сделать тоже (под окно в смысле). Для этого используй готовый компонент (а можно и мой, если нужен будет) загрузки картинок, и создай собственную компоненту, типа мессадж-бокса. У мэнэ пока нету такого, может на днях смастерю, тогда поделюсь :)
artfla$her
02.06.2004, 00:37
Лови компоненту. Сделал на скорую руку - это мессадж-бокс.
Распаковывается, но не открывается. Flash говорит: "Unexpected file format". :(
artfla$her
03.06.2004, 00:17
Ставь Flash 2004. Если я сохраню как MX, то компонента будет работать некорректно. :)
Почему ето обязательно программировать изменение губ.
По-моему мона нарисовать МС кадров из 10 (1 кадр-"загруженность", 5-"норма, 10-"ништяк") и пущай он сверяется с переменной (nastroenie, например), которая может быть от 1 до 10. Или при изменении переменной сразу на нужный кадер клип засылать! Вот!
Энто лишь примеры.. Так то я и сам ламо, но со стажем! :D
Ну я бы так сделал!
Спасибо, я попробую и так :)
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.