![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
Qawra |
|
||||||
Бывалый ![]() Профиль Группа: Участник Сообщений: 188 Регистрация: 6.3.2007 Репутация: нет Всего: 4 |
Мне нужно что бы два игрока определились каким цветом они играют . В tutorial нашла код для JColorChooser
Это работает .Но оно же выбирает Background причём я не вижу никаких чисел отображающих выбранный цвет .Если бы я их видела можно было бы присвоить их цвету игрока и всё . Приходит в голову что надо что-то подобное написать
И в классе игрок создать конструктор для игрока который будет вызывать метод из JColorChooser..
хотя по опыту я знаю что скорее всего ошибаюсь ... |
||||||
|
|||||||
math64 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 5 Всего: 72 |
Цвет хранится в классе Color, не в int.
|
|||
|
||||
Qawra |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 188 Регистрация: 6.3.2007 Репутация: нет Всего: 4 |
спасибо.. пытаюсь осознать как здесь GUI отделить от кода программы ( нам в школе сказали их надо обязательно отделить ) .Видимо JColorChooser это GUI в данном случае а всё остальное уже код игры.. Мне не нужен отдельный класс что бы прописать там JColorChooser ? Я сейчас попробую без него ..
|
|||
|
||||
SoulKeeper |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 375 Регистрация: 14.1.2007 Где: Ukraine, Lviv. Репутация: 2 Всего: 15 |
Color не имеет отношения к GUI.
Это класс содержащий информацию о цвете. |
|||
|
||||
Qawra |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 188 Регистрация: 6.3.2007 Репутация: нет Всего: 4 |
А может ColorChooser выдавать название цвета в виде String ?
Мне тут пришло в голову что в конструкторе для игрока можно присвоить игроку имя по названию выбранного цвета .. Красный , лиловый , фиолетовый ... разные получатся игроки ! Это сообщение отредактировал(а) Qawra - 24.12.2008, 14:04 |
|||
|
||||
Qawra |
|
||||
Бывалый ![]() Профиль Группа: Участник Сообщений: 188 Регистрация: 6.3.2007 Репутация: нет Всего: 4 |
У меня получается что это ColorChooser использует класс Player а не наоборот как я предполагаю должно быть
когда мы нажимаем кнопку в стартовом окошке
у меня создаются игроки и стрелочка рисуется к классу Player где прописан конструктор
Методы set и getColor возможно лишнии . Потому что private Color это же обьект в данном случае . Наверно ему не нужны set и get методы... Вторую стрелочку BlueJ рисует от класса ColorChooser к классу Player . Я поняла что this.getColor(); не даёт выбор цвета потому что метод getColor() уже переписан внутри класса . Мне надо теперь создать обьект Color внутри конструктора Player ? |
||||
|
|||||
math64 |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 5 Всего: 72 |
Класс Color имеет отношение к gui (если ты захочешь чтобы твоя игра запускалась на телефоне - там нет класса Color, а цвета задаются в виде int). Если хочешь иметь чистое разделение вид/модель используй два класса: game.model.Player и game.gui.swing.SwingPlayer:
Методы getColor/setColor и т.д. нужны поскольку поле color private, и доступ к нему возможен только из содержащего их класса. Кроме того, они могут производить дополнительные действия. Методы get/set среда разработки может создать автоматически. Это сообщение отредактировал(а) math64 - 24.12.2008, 16:54 |
||||
|
|||||
Qawra |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 188 Регистрация: 6.3.2007 Репутация: нет Всего: 4 |
Я по моему перезанималась Java потому что в голове у меня всё путается.
Но второй блок кода мне нравится больше.. Правда BlueJ пишет что import game.model.*; package doesn't exist .. вариант import game.model.swing.*; тоже не принимает |
|||
|
||||
Rpahut |
|
||||
![]() 0xdeadbeef ![]() Профиль Группа: Участник Сообщений: 243 Регистрация: 9.4.2006 Репутация: нет Всего: 7 |
Qawra, если вы делаете только для двух игроков, цвета можно прибить вручную.
У меня конструктор класса Player принимает цвет в качестве параметра:
Создать двух игроков мона так (лучше конечно их в массив положить, а не в отдельные переменные):
На мой взгляд оптимальный вариант. Не желательно принуждать игрока выбирать цвет, если мы можем сделать это сами. Выбор цвета можно будет добавить потом, в виде отдельного меню или еще как-то. --------------------
C/C++ GameDevRSS Раздела программирования игрOpenGL - уроки от NeHeКак продать идею? |
||||
|
|||||
math64 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 5 Всего: 72 |
Класс game.model.Player должен находиться в файле Player.java в подкаталоге game/model каталога, где хранятся исходники (ну и аналогично другие файлы).
Если у тебя уже есть класс Player в пакете по умолчанию, в среде разработки выбери рефакторинг/переместить класс в другой пакет, и автоматически класс переместится в нужный каталог и добавятся нужные package и import. (Правда я не знаю умеет ли это делать BlueJ, но NetBeans, Idea, JBuilder, Eclipse умеют) |
|||
|
||||
Qawra |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 188 Регистрация: 6.3.2007 Репутация: нет Всего: 4 |
Будите смеяться но я сама в своих классах запуталась .
Мне надо пойти по пути упрощения ..и всё переделать ! Завтра начну с самого начала : Стартовое окошко оставлю с одной кнопкой которая будет начинать игру .На неё прикреплю картинку с цветными карандашами. Картинка у меня есть . Я поняла что её надо поместить в папку с проектом .Нужно ли создавать папку "иконка" что-бы BlueJ её увидел ? Чашку с кофем на верхней панели я бы тоже с удовольствием поменяла на изображение веера из цветных карандашей . Куда его надо поместить и как прописать что бы оно там прорисовалось ? В отношении импорта ... Их что-то у меня пакетов становиться всё больше и больше .Всё ли я делаю правильно? Почему у меня не получается импортировать всё что мне нужно как import javax.swing.*; или import java.awt.*; ? Последний мой класс отказывается рисовать стартовое окошко в овальной рамке потому что я механически много чего наимпортировала и наимплементировала ... Его тоже надо будет упростить
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "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. |