Java - Создание диалогового окна RPG - PullRequest
2 голосов
/ 10 мая 2011

Так что это может показаться странным, но я пытаюсь создать очень простую игру, которая работает примерно так же, как и старая RPG-игра в качестве интерфейса (подумайте, выбирая атаки из списка (например, Pokemon)).

Сейчас у меня есть класс, расширяющий JFrame, и он содержит закрытые переменные трех панелей: одна для отображения спрайтов в верхних 75% экрана, а две другие - те, на которых я хочу отображать текст (один для объявлений типа «КРИТИЧЕСКИЙ ХИТ», а другой для выбора).Второе из текстовых полей может быть видно только иногда, но это не имеет значения.

Кто-нибудь может начать меня или протянуть руку?Я нахожу много способов, но ни один из них не подходит для моих нужд.

Редактировать: Моя игра выложена, и панель спрайтов работает точно так, как и должна, насколько бы это ни звучало, я небросаясь во что-то вслепую.У меня игра работает, за исключением эффективного отображения диалогов.

РЕДАКТИРОВАТЬ 2: Хорошо, возможно, я неясен, моя основная задача - найти лучший Java-компонент для рисования строк на нижних панелях.Строки будут регулярно меняться, поэтому некоторые методы, которые я пробовал, такие как Graphics drawString (), не очень эффективны.

Спасибо, roflha

1 Ответ

1 голос
/ 10 мая 2011

Ну, в вашем первоначальном вопросе нет какого-либо связного вопроса, кроме "Может ли кто-нибудь начать меня или протянуть мне руку?" что делает довольно трудным понять, что вам действительно нужно. Я обнаружил, что вам нужна помощь от нас - это отображение диалогов, всплывающих для пользователя, когда происходит какое-то событие. Если вы не слишком заботитесь о спецэффектах, есть три простых способа сделать это:

1) Просто создайте спрайты для ваших сообщений и при необходимости установите их видимыми. Если у вас ограниченное количество важных сообщений, это позволяет легко контролировать видимость / яркость сообщения.

2) JTextArea позволяет вам просто напечатать некоторый текст в поле. Это полезно, если у вас есть многословная консоль или сообщения, которые не могут быть просто несколькими изображениями. Вы просто должны иметь JTextArea на своей панели и обновлять его по мере необходимости:

JTextArea messageBox;
messagePanel.add(messageBox);

//displays a message
messageBox.setText("CRITICAL HIT!!!");

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

3) Если вы хотите более навязчивое сообщение, у вас может быть всплывающее диалоговое окно, в котором пользователь должен будет нажать «ОК», чтобы продолжить. Это сравнительно легко сделать, и вы даже можете добавить специальные значки для сообщения:

http://download.oracle.com/javase/tutorial/uiswing/components/dialog.html

JOptionPane.showMessageDialog(myFrame,
    "You got a critical hit!!!", 
    "Critical Hit",
    JOptionPane.INFORMATION_MESSAGE,
    criticalHitIcon);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...