8.01.2012 / 01:42 | |
Andrey Пользователь Сейчас: Offline
Имя: Андрей Откуда: Запорожье Регистрация: 24.10.2011
| Впервый раз ругался на "public" in primary или что то вроде того а в последний что то с try { } catch (....) { } нахимичил,я новичок и пока только учусь
|
8.01.2012 / 01:44 | |
Andrey Пользователь Сейчас: Offline
Имя: Андрей Откуда: Запорожье Регистрация: 24.10.2011
| Я походу или не доставил или переставил скобки
|
8.01.2012 / 01:44 | |
aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| Andrey, видишь ли, от того, насколько точно ты передашь ошибку компилятора, зависит быстрота и точность решения проблемы. Перед public void keyPressed скобку } поставь. Если работать не будет, тогда попробуй во втором и третьем try/catch сменить catch (IOException ioe) на catch (Exception ioe), то есть IO убрать.
И еще, repaint'ов в программе должно быть как можно меньше. В идеале один repaint.
__________________
let live Изменено aNNiMON (8.01 / 01:47) (всего 2 раза) |
8.01.2012 / 01:53 | |
Andrey Пользователь Сейчас: Offline
Имя: Андрей Откуда: Запорожье Регистрация: 24.10.2011
| Просто мне нужна чтобы секунду была одна картинка потом вторая три секунду общим repaint не буду делать так как картинки друг на друга наложатся
|
8.01.2012 / 02:03 | |
Andrey Пользователь Сейчас: Offline
Имя: Андрей Откуда: Запорожье Регистрация: 24.10.2011
| Я делаю не как в мб а как в паскале. Вывод Картинка1 прорисовка сон 1 сек вывод картинка2 прорисовка сон 1 сек вызов меню
|
8.01.2012 / 02:39 | |
Dimon638 Пользователь Сейчас: Offline
Регистрация: 12.04.2011
| Andrey (08.01.2012/01:03) Я делаю не как в мб а как в паскале.Вывод Картинка1прорисовкасон 1 секвывод картинка2прорисовкасон 1 секвызов менюНо это ява, а не паскаль или бейсик и здесь надо делать так, как принято это в ООП. Репаинт должен быть один(!) на один игровой цикл, и слип, кстати, тоже должен быть один на один игровой цикл, а последовательность картинок должна быть реализована другими способами, в итоге твой код должен иметь приблизительно такой вид: public void Paint(Graphics g)
{
//Тут код отображения картинок
repaint();
//Тут короче слип(лень писать трай и пр. :хацк: )
}
Причем реализация смены картинок должна быть хотя бы такая: Заводим переменную int p=0; которая через каждую секунду увеличивается на 1. И пишем ряд условий на проверку её значений, в зависимости чему они равны рисуем разные картинки. Вообщем вот код, хотя и он тоже является быдлокодом int p=0;
public void paint(Graphics g)
{
p++;
if(p==1){
//Рисуем картинку 1}
if(p==2){
//Рисуем картинку 2}
if(p==2){
//Переходим в меню}
repaint();
try{Thread.sleep(1000L);}catch(Exception e){}
}
Только в данном случае меню должно быть уже в другом классе, иначе придется всё очень сильно изменять. |
8.01.2012 / 09:10 | |
vast Пользователь Сейчас: Offline
Имя: vas Регистрация: 02.06.2011
| mrEDitor (07.01.2012/18:16) Andrey, в Graphics есть константы: Graphics.TOP, Graphics.BOTTOM, Graphics.LEFT, Graphics.RIGHT, Graphics.HCENTER (центр по горизонтали), Graphics.VCENTER (центр по вертикали). Четвертый "показатель" a етот четвертый параметр обьязателен? Если писать только коры х,у?
|
8.01.2012 / 09:12 | |
Salat-Cx65 Пользователь Сейчас: Offline
Имя: Сергей Откуда: Кременчуг Регистрация: 23.03.2010
| Обязателен
|
8.01.2012 / 11:30 | |
Andrey Пользователь Сейчас: Offline
Имя: Андрей Откуда: Запорожье Регистрация: 24.10.2011
| Ты меня не понял это не игровой цикл. Это просто когда в игру заходишь показывает кто написал потом лого игры.одним repaint не реализовать так как он выведет картинку на картинку.а потом будет цикл в меню и цикл в игре
|