Модераторы: SoWa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> подскажите 
:(
    Опции темы
miramultik
  Дата 21.3.2009, 15:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 21.3.2009

Репутация: нет
Всего: нет



Как сделать, чтоб персонаж, при перемещении на него объекта(у меня это кнопка), улыбнулся???  smile 
PM MAIL   Вверх
bars80080
Дата 21.3.2009, 20:57 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 1
Всего: 315



написать веселящую функцию?
PM MAIL WWW   Вверх
miramultik
Дата 21.3.2009, 22:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 21.3.2009

Репутация: нет
Всего: нет



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

Добавлено через 3 минуты и 39 секунд
перемещение делать научилась, отдельно кнопку прорисовать могу(при нажатии меняется картинка) Как объединить? или это нужно делать подругому?
PM MAIL   Вверх
bars80080
Дата 21.3.2009, 23:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 1
Всего: 315



так что-то осмысленное.

ладно, думаем, как определить что нечто (допустим курсор) над неким клипом, решение простое - надо узнать координаты мыши (всего два параметра _xmouse и _ymouse), и находятся ли эти координаты в пределах клипа (персонажа). смотрим доки, там есть такой метод 
mc.hitTest(x,y,ShapeFlag); - mc - наш персонаж, x и y координаты мыши, третий параметр false - если раницей клипа считается его прямоугольная рамка, true - реальный контур

т.е. примерно так:

Код

_root.onEneterFrame = function() {
    if(personaz.hitTest(_xmouse, _ymouse, true)) { ulybka(); }
}


теперь вопрос, как на счёт кнопки. если мы её тягаем мышью, то вариант выше, если нет, то придётся заняться чистой математикой, здесь требуется высчитывать перекрытие площадей. (метода на перекрытия площадей не помню. может в AS3 есть...)
каждый раз определяем входят ли координаты одного объекта в другой. для этого лучше принять что оба объекта прямоугольные, найти для каждого xp1, yp1, xp2, yp2 и xk1, yk1, xk2, yk2 и составить некую формулу

Код

_root.onEneterFrame = function() {
    xk1 = button._x; yk1 = button._y;
    xk2 = button._x + button._width; yk2 = button._y + button._height;
    // тоже для персонажа
    if((xk1 < xp2 && xk1 > xp1 && yk1 < yp2 && yk1 > yp1) ||
        (xk2 < xp2 && xk2 > xp1 && yk2 < yp2 && yk2 > yp1)) { ulybka(); }
}


как-то так
PM MAIL WWW   Вверх
miramultik
Дата 22.3.2009, 16:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 21.3.2009

Репутация: нет
Всего: нет



чет не получается...можт до меня не доходит чего... У меня персонаж - кнопка прорисованная(при нажатии - рот растягивается в улыбку)....  Пробовала делать персонаж мувиком, но при прорисовывании улыбки, он соответственно непрерывно меняет кадры, ротик дергается. Как же сделать, чтоб уыбнулся именно в момент наложения на него объекта(кнопки), не знаю. Где нужно прописать код...
И еще...я во флеш MX рисую....но есть и CS c actionscript2, но в нем у меня не получается организовать "перетащи и положи".....
Извините за тугоумство... smile 
PM MAIL   Вверх
bars80080
Дата 22.3.2009, 16:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 1
Всего: 315



Цитата(miramultik @  22.3.2009,  15:31 Найти цитируемый пост)
но при прорисовывании улыбки, он соответственно непрерывно меняет кадры, ротик дергается.

делается так. рисуется два кадра - один нормальный, другой с улыбкой. в каждом пишем stop();
заместо функции ulybka(); пишем goAndPlay(номер кадра);

а код вызова обычно пишется на отдельном слое в первом кадре _root.onEneterFrame - означет что проверка будет производиться с частотой указанных кадров (обычно 12 раз в секунду). хотя конечно стоило бы производить только по перемещению мыши, но так проще
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Flash"
AlDev
SoWa
  • Если вы хотите предложить кому-либо работу, то пишите или в личку, или оставляйте сообщения в специально предназначеном для этого форуме "Объявления о найме специалистов"
  • Один вопрос - одна тема. Не надо переходов от одного вопроса к другому.
  • Если вы хотите показать какой-нибудь ваш мульт, причём показать, а не предоставить исходник, то вам сюда
  • Вопросы по разработке интернет-приложений на Flex и вопросы по MXML пишите в раздел Flex
  • Смотрим в будущее. ActionScript 3 обсуждается в форуме ActionScript 3
  • Новости из мира Flash.
  • New! [code=ascript][/code] - подсветка ActionScript + wikipedia help

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, AlDev, SoWa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | ActionScript 1,2 | Следующая тема »


 




[ Время генерации скрипта: 0.0436 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.