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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 23.01.2008, 21:24
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 1  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
По умолчанию Блокировка игрока

Здравствуйте, у меня вот такая проблема:
есть объект Clip1 и Clip2. Clip1 управляется клавишами и перемещается вверх, вниз, влево, вправо. Clip2 неподвижен. При столкновении Clip1 с Clip2 Clip1 не должен "залезать" на на другой клип, проверка, конечно, реализовывается с помощью hitTest. Помогите пожалуйста провести данную процедуру

примерный код:
Код:
clip1.onEnterFrame = function(){
     if (Key.isDown(83)){
          this._y -= 3;
     }
     if (clip2.hitTest(this)){
          this._y += 4;
     }
}
__________________
тут я


Последний раз редактировалось КорДум; 24.01.2008 в 15:20.
Старый 23.01.2008, 22:41
CrazyFlasher вне форума Посмотреть профиль Отправить личное сообщение для CrazyFlasher Найти все сообщения от CrazyFlasher
  № 2  
Ответить с цитированием
CrazyFlasher
 
Аватар для CrazyFlasher

Регистрация: May 2003
Адрес: Tallinn
Сообщений: 3,182
вы с начала ознакомьтесь с правилами раздела, а потом пишите!
Код:
clip1.onEnterFrame = function(){
     if (Key.isDown(83)){
          this._y -= 3;
     }
     if (clip2.hitTest(this)){
          this._y += 4;
     }
}
__________________
Flash Developer
Папа TDP4 Team Battle

Старый 23.01.2008, 22:53
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 3  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
КорДум, отредактируйте свой пост и оформите код тегами [code][/code].

Старый 24.01.2008, 18:15
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 4  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Приведенный мною код работает практически корректно, но при нажатии комбинаций клавиш (пример: вверх, вниз, влево) Clip1 безнаказанно преодолевает преграду и свободно передвигается по поверхности Clip2, при этом клавиши управления инвертируются. При движении обратно и желании всё вернуть как было Clip1 с очень большим трудом возвращается на место. Помогите пожалуйста разработать работающий нормально код...
__________________
тут я

Старый 24.01.2008, 18:27
Волгоградец вне форума Посмотреть профиль Отправить личное сообщение для Волгоградец Найти все сообщения от Волгоградец
  № 5  
Ответить с цитированием
Волгоградец
 
Аватар для Волгоградец

блогер
Регистрация: Sep 2007
Адрес: Гамбург
Сообщений: 1,648
Записей в блоге: 12
Самый корректноработающий алгоритм находится тут: http://noregret.org/tutor/n/. Но он достаточно сложен для понимания.

Старый 24.01.2008, 20:04
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 6  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Цитата:
Сообщение от Волгоградец
Самый корректноработающий алгоритм находится тут: http://noregret.org/tutor/n/. Но он достаточно сложен для понимания.
Вы правы, он действительно сложен в понимании... Желание познать новые методы велико, так что на досуге изучу...

Цитата:
при нажатии комбинаций клавиш (пример: вверх, вниз, влево) Clip1 безнаказанно преодолевает преграду и свободно передвигается по поверхности Clip2, при этом клавиши управления инвертируются. При движении обратно и желании всё вернуть как было Clip1 с очень большим трудом возвращается на место
мне очень хочется узнать, почему так происходит, и как это можно исправить/подправить?
__________________
тут я

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

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

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


 


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


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