Кнопка в определенных координатах

274
08 августа 2017, 14:32

Суть: нужна кнопка которая появляется при определённом событии в 2D игре(не меню). Не всплывающее окно и не JButton.

Как я хочу чтобы это выглядело в игре: я подхожу к NPC и появляется картинка, которая предлагает нажать клавишу [E] чтобы поговорить с ним. Или к двери, чтобы открыть её.

Какая помощь необходима: объяснить, хотя бы на слова, как можно появление этой кнопки реализовать.

P.S.: Как рассчитать дистанцию между игроком и NPC я знаю.

Answer 1

Возможно при приближении создать JLabel, передать на него фокус, задать ему слушатель клавиатуры, и по нажатию E делать следующие действия. На самом JLabel написать ваше сообщение.

Answer 2

Добился результата на половину: когда подхожу, нажимаю на кнопку и открывается окно квеста. Позже додумаю как показывать картинку с надписью "действовать" или просто текст. Может кому будет интересно как я это сделал:

if(OrangeNpc.talk){
    if(code == KeyEvent.VK_E && !OrangeNpc.opened) {
        System.out.println("Speaking with npc");
        OrangeNpc.talk1 = true;
    }
    }else if (code == KeyEvent.VK_E && !OrangeNpc.talk && OrangeNpc.opened){
     OrangeNpc.talk1 = false; OrangeNpc.opened = false;
    }

Если дистанция игрока равна 85 автоматически включается булен "talk" в классе нпца, и также если нажата клавиша [E] и Окно разговора с нпц не открыто, то включить булен "talk1", который в другом классе открывает Окно разговора и даёт булену "opened" значение тру.

Дальше, чтобы закрыть окно, если нажата клавиша [E] и дистанция между объектами больше 85 ("talk" автоматически становится false) и Окно разговора открыто, то выключается "talk1" из-за которого перестаёт отображаться Окно разговора.

READ ALSO
Register CLOB fail or no

Register CLOB fail or no

Есть такой вопросУ меня в базе есть пакет с функцией, который возвращает CLOB

319
Разбор XML и вывод в Excel

Разбор XML и вывод в Excel

Есть XML файл с таким содержимымСтрок ROW много

409
Настройка SQL запросов в Hibernate

Настройка SQL запросов в Hibernate

Добрый день, разрабатываю систему отчетности в виде web-приложенияИспользую Spring и Hibernate

316
Redirect:/ После авторизации Spring java

Redirect:/ После авторизации Spring java

На сайте система авторизацииSpring security

281