Получение Java-апплета для игры в качестве отдельного приложения - PullRequest
0 голосов
/ 03 февраля 2012

Я провел последние несколько дней, собирая игру, которая работает как Апплет, но я также хотел бы, чтобы она была доступна в качестве Приложения.

Я попытался поместить апплет в рамку, но при этом у меня появляется только черный экран (и случайный экран меню).Апплет все еще работает, и звук все еще играет, но больше ничего нет.

Я бы не хотел разбивать код и переписывать его для автономного приложения, так как это отнимает много времени, но если нетИначе я сделаю то, что должен.Программа немного сложна тем, что «основной» класс (содержащий всю информацию о мультимедиа, события, связанные с игрой и т. Д.) Является расширением класса Applet (содержащего событие KeyListener, init(), событие run()и т. д.) так, может быть, я просто пытаюсь поместить не ту вещь в рамку?

Вот ссылка на папку src для игры.Я попытался поместить и класс AWPASG, и класс Game в кадр и увидел одинаковые результаты для обоих.

Любая помощь будет принята с благодарностью.

Исходный код / ​​Медиа http://www.mediafire.com/?4eslqqr4aoh33j1

1 Ответ

2 голосов
/ 03 февраля 2012

Это потому, что дизайн вашего класса не очень хорош.Вы сгруппировали все вместе в 2 класса, вместо того, чтобы отделить по крайней мере виджеты пользовательского интерфейса (панели и т. Д.) От контейнера пользовательского интерфейса.

Также вы используете апплет и панель AWT старого стиля.Вам следует использовать новые Swing JApplet и JPanel (и все компоненты opthers JXxx)

Короче, попробуйте изолировать ваше здание GUI (рисование) в классе, расширяющем JPanel (или содержащем JPanel).Затем у вас может быть 2 отдельных класса запуска, один из которых помещает вашу игру JPanel в JApplet, а другой - в JFrame (и, таким образом, дает вам возможность запускать его как настольное приложение).

Также выВозможно, вы захотите отделить логику инициализации GAME от жизненного цикла инициализации апплета, ваша игра должна иметь возможность инициализации, не заботясь о лежащей в основе технологии графического интерфейса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...