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

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

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

блогер
Регистрация: Feb 2007
Адрес: Москва
Сообщений: 538
Записей в блоге: 2
Отправить сообщение для Art_133 с помощью Skype™
По умолчанию Создание игры "Шариковый обстрел"

Необходимо создать игру на подобие этой.
Т.к. играми, до этого, не занимался возникло несколько вопросов:

1. Как рассчитать движение шарика, отпрыгивание от стены и самое главное размещение его в нужную позицию среди остальных шаров?
2. Как отследить момент, когда рядом 3 шара одинакового цвета?

Спасибо.

П.С. Буду рад любой информации, касательно создания данной игры.


Последний раз редактировалось Art_133; 24.08.2011 в 20:39.
Старый 24.08.2011, 20:44
gloomyBrain вне форума Посмотреть профиль Отправить личное сообщение для gloomyBrain Найти все сообщения от gloomyBrain
  № 2  
Ответить с цитированием
gloomyBrain
 
Аватар для gloomyBrain

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

PS
Я такую проверку делал рекурсией.
__________________
...вселенская грусть

Старый 24.08.2011, 20:59
Art_133 вне форума Посмотреть профиль Отправить личное сообщение для Art_133 Посетить домашнюю страницу Art_133 Найти все сообщения от Art_133
  № 3  
Ответить с цитированием
Art_133
 
Аватар для Art_133

блогер
Регистрация: Feb 2007
Адрес: Москва
Сообщений: 538
Записей в блоге: 2
Отправить сообщение для Art_133 с помощью Skype™
Картина прорисовывается.
Интересует след. моменты:
1. Создать таблицу. Что значит создать таблицу? Класс, который будет размещать элементы в нужном порядке? Я так понимаю, это массив спрайтов с пустыми элементами, верно?
2. У ячеек должны быть ссылки на соседей. Как проверить, какая из ячеек является соседней?
3. Помещаем шарик в нужную ячейку. Как выбрать эту нужную ячейку? Как понять, в какую ячейку летит шарик?

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

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Не совсем массив, скорее связанный список. Модель. Элементарным объектом-ячейкой может быть класс c акцессорами left, right, top, bottom указывающими на соседние ячейки. Он может содержать цвет шарика, бонус, пр. Этим списком кормите визуальный класс Поле, который создает визуальные шарики и кормит их, в свою очередь, каждой конкретной ячейкой.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 25.08.2011, 11:06
Art_133 вне форума Посмотреть профиль Отправить личное сообщение для Art_133 Посетить домашнюю страницу Art_133 Найти все сообщения от Art_133
  № 5  
Ответить с цитированием
Art_133
 
Аватар для Art_133

блогер
Регистрация: Feb 2007
Адрес: Москва
Сообщений: 538
Записей в блоге: 2
Отправить сообщение для Art_133 с помощью Skype™
Понял, спасибо. Со связным списком разберусь.
Мне не понятно, как определить, в какую ячейку добавлять новый шарик?

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

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Цитата:
Сообщение от Art_133 Посмотреть сообщение
Понял, спасибо. Со связным списком разберусь.
Мне не понятно, как определить, в какую ячейку добавлять новый шарик?
Чистая математика. Знаем размер ячейки (диаметр шариков), знаем координаты точки и угол запуска шарика-торпеды и находим точку его приземления. Отскоки от стен тоже просчитываются.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

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

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

Хотя можно определять точку попадания заранее и сразу направлять шарик в нее (то есть в момент выстрела немного подправлять направление полета шарика). Но, на мой взгляд, такая техника выглядит грубовато (зато дает меньше нагрузки на процессор, ведь нет необходимости каждый кадр проверять шарики на пересечение)
__________________
...вселенская грусть

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

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

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


 


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


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