Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 09.10.2009, 00:38
lorddexon вне форума Посмотреть профиль Отправить личное сообщение для lorddexon Найти все сообщения от lorddexon
  № 1  
Ответить с цитированием
lorddexon

Регистрация: Oct 2009
Сообщений: 22
По умолчанию Как сделать препятствие?

В общем, во флэше я новичок) Подскажите, как сделать препятствие, мол когда объект соприкасается с другим объектом- стеной например, он останавливался? Я пробовал хитТестом, но че-то логики не хватает додумать.

Старый 09.10.2009, 03:30
alex_195 вне форума Посмотреть профиль Отправить личное сообщение для alex_195 Найти все сообщения от alex_195
  № 2  
Ответить с цитированием
alex_195

Регистрация: Apr 2009
Сообщений: 104
//ball_mc - движущийся объект, st_mc - стена
ball_mc.onEnterFrame = function() {
ball_mc._x += ball_mc._x*0.1;
if(ball_mc.hitTest(st_mc)) {
ball_mc._x = st_mc._x - 15;
trace("мувики пересеклись");
}
}

Старый 09.10.2009, 14:54
lorddexon вне форума Посмотреть профиль Отправить личное сообщение для lorddexon Найти все сообщения от lorddexon
  № 3  
Ответить с цитированием
lorddexon

Регистрация: Oct 2009
Сообщений: 22
не пашет.( У меня шар проваливается медленно сквозь стенку, будто она из песка


Последний раз редактировалось lorddexon; 09.10.2009 в 15:28.
Старый 09.10.2009, 15:35
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 4  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
http://www.flasher.ru/forum/showthread.php?t=130103
http://www.flasher.ru/forum/showthre...hlight=hittest
http://www.freeactionscript.com/2009...ion-detection/

Старый 09.10.2009, 16:17
lorddexon вне форума Посмотреть профиль Отправить личное сообщение для lorddexon Найти все сообщения от lorddexon
  № 5  
Ответить с цитированием
lorddexon

Регистрация: Oct 2009
Сообщений: 22
это немного не то. Мне надо, чтобы стена блокировала дальнейшее смещение шара по координате х/у при соприкосновении с шаром. мол
Код AS1/AS2:
if (_root.block.hitTest(this))
{
вот тут я думал надо написать решение) а придумать его не могу
}


Последний раз редактировалось lorddexon; 09.10.2009 в 16:26.
Старый 09.10.2009, 16:21
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 6  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Код оформляйте тегами AS - смотреть неоформленный код никто не будет.


Последний раз редактировалось mooncar; 09.10.2009 в 16:24.
Старый 09.10.2009, 17:10
frops вне форума Посмотреть профиль Отправить личное сообщение для frops Найти все сообщения от frops
  № 7  
Ответить с цитированием
frops
 
Аватар для frops

Регистрация: Oct 2009
Сообщений: 6
Тебе нужно это делать при помощи определения координат. Грубо говоря:

Код AS1/AS2:
var player_mc:MovieClip; //Игрок (шарик)
var wall_mc:MovieClip; //Стена
if((player_mc._x+player_mc._width)>=wall_mc._x)
{
  trace("Шарик попал в стену");
}
Так же и дальше, если стена слева, то:
Код AS1/AS2:
if(player_mc._x<=wall_mc._x)
{
  trace("Шарик попал в стену");
}
Аналогично с Y координатами. Если стена наверху

Добавлено через 2 минуты
Можно ожидать всех случаев если объект посередине, и грубо говоря квадратный или прямоугольный

Код AS1/AS2:
var player_mc:MovieClip; //Игрок (шарик)
var wall_mc:MovieClip; //Стена
if((player_mc._x+player_mc._width)>=wall_mc._x)
{
   trace("Шарик попал в стену");
}
if(player_mc._x<=wall_mx._x)
{
   trace("Шарик попал в стену");
}
if((player_mc._y+player_mc._height)>=wall_mc._y)
{
   trace("Шарик попал в стену");
}
if(player_mc._y<=wall_mc._y)
{
   trace("Шарик попал в стену");
}
__________________
Мир дизайна

Старый 09.10.2009, 17:25
lorddexon вне форума Посмотреть профиль Отправить личное сообщение для lorddexon Найти все сообщения от lorddexon
  № 8  
Ответить с цитированием
lorddexon

Регистрация: Oct 2009
Сообщений: 22
спасибо, это понятно. То есть при соприкосновении выводится надпись. А как сделать, чтобы при соприкосновении стена останавливала движения шара?

Старый 11.10.2009, 01:31
alex_195 вне форума Посмотреть профиль Отправить личное сообщение для alex_195 Найти все сообщения от alex_195
  № 9  
Ответить с цитированием
alex_195

Регистрация: Apr 2009
Сообщений: 104
lorddexon мой тебе совет... Я месяца четыре назад был таким как ты. Скачай книги по AS2 и почитай - почувствуешь себя другим человеком и не будешь задавать таких вопросов...

Старый 12.10.2009, 00:02
lorddexon вне форума Посмотреть профиль Отправить личное сообщение для lorddexon Найти все сообщения от lorddexon
  № 10  
Ответить с цитированием
lorddexon

Регистрация: Oct 2009
Сообщений: 22
а можешь автора книги назвать? а то их полно) но там либо оч. поверхностно, либо непонятно))

Создать новую тему Ответ Часовой пояс GMT +4, время: 22:14.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 22:14.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.