![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| Invisible |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 63 Регистрация: 26.5.2005 Репутация: нет Всего: нет |
Хотел написать игру - змейку .. получается есть "змея" которая передвигается по сетке и есть ... то что она будет кушать. Вопросы: какие компоненты использовать при написании с использованием Swing. Что за компоненты будут поле, змейка и хавка. Как лучше вообще реализовать?
|
|||
|
||||
| math64 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 5 Всего: 72 |
Можно использовать JLabel с картинкой без надписи на JPanel с размещением GridLayout. Но возможно будет слишком медленно.
Можно написать свой класс extends JComponent, который будет отрисовывать все самостоятельно. Это сообщение отредактировал(а) math64 - 7.12.2010, 14:02 |
|||
|
||||
| Skipy |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 487 Регистрация: 24.8.2006 Где: Москва, Россия Репутация: 4 Всего: 16 |
Имхо, только второй способ. По первому слишком много компонент получится.
|
|||
|
||||
| DimonDimon |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 18.10.2010 Репутация: нет Всего: нет |
Я бы сделал так: Класс Змея содержит массив Point2D - координат по которым отрсиовываются сегменты туловища змеи. Сегментами могут быть как простые квадраты/кружки так и заранее подготовленные изображения (рот хвост туловище), если не лень заморачиваться. Хавка также массив координат (Point2D). Изображаеся также либо квадраты/кружки либо картинки.
Всё это отрисовывается на JPanel. По таймеру добавляется хавка. Также по таймеру изменяется массив с координатами змеи: Последний элемент удаляется а в голову массива добавляется новый. Это будет имитировать движение змеи по полю. При пересечении координат змеи с координатами хавки в массив змеи добавляется один элемент, а из массива хавка - соответствующий элемент удаляется. Змея съедает хавку и увеличивается на один сегмент. При пересечении координат змеи с краями JPanel - игра проиграна. как-то так. Это сообщение отредактировал(а) DimonDimon - 8.12.2010, 18:29 |
|||
|
||||
| dorogoyIV |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1503 Регистрация: 26.3.2007 Репутация: 36 Всего: 46 |
||||
|
||||
| Invisible |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 63 Регистрация: 26.5.2005 Репутация: нет Всего: нет |
Так , значит метод который я использую сейчас не совсем правильный? У меня поле состоит JLabel размещенных на таблице. То есть когда змея двигается вперед я просто перерисовываю некоторые JLabel. Могу предположить что затратно (перемещение змеи поедает 20 мегабайт, полная версия от dorogoyIV поедает 25)
|
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |