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

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

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

Регистрация: Feb 2009
Сообщений: 5
Question Столкновение машины с препятствиями

Я делаю ядро рпг, где в главной роли будет машина. Возник вопрос о столкновениях с предметами. Если использовать hitTest, то каждый угол предмета придется описывать вручную и скорее всего создавать уровни програмно? А нельзя ли использовать другие способы, например сделать слой с черно-белыми фигурами, повторяющими карту. Черный - нельзя проехать, белый - можно (Сделать проверку на цвет). Если сможете подсказать более быстрый способ, буду очень блогодарен.

И вторая идея. На этом же ядре сделать игру, где нужно как можно быстрее разбить машину. Сделать проверку на каждый элемент машины (Бампер, капот, лобовое стекло), и при столкновенни проигрывать анимацию до следущего состояния (Идеальное, царапины и потерта краска, вмятины, отсутствие детали).

Выскажете пожалуйста свои идеи по этому поводу.

Вот то, что сделал за 2 часа работы, с использованием уроков с http://xitri.com/ (Передвижение - стрелки, тормоз - пробел, контрол - азот) (Просьба, не бейте палками. До анимации и эффектов пока не дошел).


Последний раз редактировалось UncleBoB; 09.02.2009 в 21:23.
Старый 09.02.2009, 21:28
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 2  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
Если хотите игру не подзаборного уровня, - однозначно математика, да (%

Старый 09.02.2009, 21:34
UncleBoB вне форума Посмотреть профиль Отправить личное сообщение для UncleBoB Найти все сообщения от UncleBoB
  № 3  
Ответить с цитированием
UncleBoB
 
Аватар для UncleBoB

Регистрация: Feb 2009
Сообщений: 5
Спасибо.

Старый 09.02.2009, 23:46
Svi_stok вне форума Посмотреть профиль Отправить личное сообщение для Svi_stok Найти все сообщения от Svi_stok
  № 4  
Ответить с цитированием
Svi_stok
 
Аватар для Svi_stok

Регистрация: Feb 2009
Адрес: Харьков
Сообщений: 51
Хорошая заготовка но что то не то графика класс Вы конечно извините за критику но у меня такое чувство что движение машины прорисовывается в каждом следующем кадре

Старый 10.02.2009, 00:54
UncleBoB вне форума Посмотреть профиль Отправить личное сообщение для UncleBoB Найти все сообщения от UncleBoB
  № 5  
Ответить с цитированием
UncleBoB
 
Аватар для UncleBoB

Регистрация: Feb 2009
Сообщений: 5
За критику даже спасибо. Я тоже обратил внимание на это. Думаю проблему можно решить повысив значение Frames Per Second, но снизив другие игровые атрибуты.

Старый 10.02.2009, 01:27
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 6  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
UncleBoB, очень специфичный способ управления. У кого подсмотрели?
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 10.02.2009, 04:57
gloomyBrain вне форума Посмотреть профиль Отправить личное сообщение для gloomyBrain Найти все сообщения от gloomyBrain
  № 7  
Ответить с цитированием
gloomyBrain
 
Аватар для gloomyBrain

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Цитата:
Думаю проблему можно решить повысив значение Frames Per Second, но снизив другие игровые атрибуты.
Я бы не привязывался к онЭнтерФрэйм, а сделал через таймер. При любом фпс(на любом компьютере) будет примерно одинаково.

Про управление - на настоящем автомобиле когда отпускаешь руль - он сам выравнивается. Здесь же - чтобы повернуть налево, затем поехать прямо - нужно сначала нажать налево, а потом направо. Попробуйте сделать автовыравнивание руля - увидите сразу разницу в управлении
Цитата:
у меня такое чувство что движение машины прорисовывается в каждом следующем кадре
Ну что вы... так не бывает... =)
сори за сарказм, просто очень улыбнуло

По поводу пересечения с дорогой - есть такие предположения:
- у мувика есть габаритный контейнер (прямоугольник)
- у мувика есть координаты в глобальном пространстве
- внутри мувика есть несколько точек (углы прямоугольника), которые надо проверять на пересечение с препятствиями.

Что делаем:
берем каждую точку и делаем с ней примерно то же, что написано в хэлпе:
Код AS1/AS2:
var myPoint:Object = {x:10, y:10}; // create your generic point object
this.createEmptyMovieClip("myMovieClip", this.getNextHighestDepth());
myMovieClip._x = 100; // _x for movieclip x position
myMovieClip._y = 100; // _y for movieclip y position
 
myMovieClip.localToGlobal(myPoint);
trace ("x: " + myPoint.x); // 110
trace ("y: " + myPoint.y); // 110
Ну а дальше проверяем точку на пересечение с любым препятствием (весь плюс метода в том, что препятствие может быть произвольной формы) с помощью hitTest()
__________________
...вселенская грусть

Старый 10.02.2009, 05:20
qazwsx вне форума Посмотреть профиль Найти все сообщения от qazwsx
  № 8  
Ответить с цитированием
qazwsx
Banned
[+5 15.02.09]
[++5 15.02.09]

Регистрация: Mar 2008
Адрес: Krasnoyarsk
Сообщений: 587
Кто сказал что с использованием интервала или атймаута будет "При любом фпс(на любом компьютере) будет примерно одинаково.". Снижение фпс повлеяет и на интервалы тоже. Главное чтобы была 1 главная циклическая функция раздаюшая события нового кадра всем классам которым надо, а будет это энтер фрейм или интервал менее важно, но энтерфрейм будет лучше -_-

Старый 10.02.2009, 16:48
UncleBoB вне форума Посмотреть профиль Отправить личное сообщение для UncleBoB Найти все сообщения от UncleBoB
  № 9  
Ответить с цитированием
UncleBoB
 
Аватар для UncleBoB

Регистрация: Feb 2009
Сообщений: 5
Цитата:
Сообщение от dimarik Посмотреть сообщение
UncleBoB, очень специфичный способ управления. У кого подсмотрели?
Цитата:
Сообщение от UncleBoB
С использованием уроков с http://xitri.com/
Чувство, что движение машины прорисовывается в каждом следующем кадре должно пропасть. Обновил.

Подумаю над тем, чтобы колеса возвращались в исходное положение. Извиняюсь за оффтоп, но забыл скрипт, который добавляет listener на клавишу, чтобы можно было сделать проверку на отпускание.

gloomyBrain, а можно по подробнее об этом способе?

Если у кого-нибудь из участников форума есть желание помочь со столкновениями (Вышлю исходники), буду очень благодарен.


Последний раз редактировалось UncleBoB; 11.02.2009 в 19:55. Причина: Добавленно сообщение
Старый 10.02.2009, 18:53
gloomyBrain вне форума Посмотреть профиль Отправить личное сообщение для gloomyBrain Найти все сообщения от gloomyBrain
  № 10  
Ответить с цитированием
gloomyBrain
 
Аватар для gloomyBrain

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
А куда подробнее? =) почитайте хелп, зачем его сюда выкладывать...
По-простому - localToGlobal может перевести координаты внутри клипа в координаты на сцене. Вроде даже из названия понятно =)
__________________
...вселенская грусть

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

Теги
bigfoot , getpixel , hittest
Опции темы
Опции просмотра

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

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


 


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


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