Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> простенький апплет - тетрис, double buffering 
:(
    Опции темы
inohodec
Дата 4.11.2008, 12:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 151
Регистрация: 1.12.2004

Репутация: нет
Всего: 2



Всем привет

Решил написать простенький апплет - тетрис
Самый элементрный smile

И столкнулся с проблемой - double buffering

У меня есть картинка - поле и по ней двигаются фигурки
Заметил что чем сложнее рисунки тем больше мельканий 
Читал про buffering но так и не понял как я его могу применить у себя к чему именно

Вот мой код, помогите применить правильно buffering

Код

import java.applet.*;
import java.awt.*;

public class AnimApplet extends Applet implements Runnable {
    Image[] images = new Image[3];
    int frame;
    int x, y, x1=200, y1=200 ;
    volatile Thread thread;

    public void init() {
     images[0] = getImage(getDocumentBase(), "board.gif");
     images[1] = getImage(getDocumentBase(), "image_2.gif");
        images[2] = getImage(getDocumentBase(), "image_1.gif");     
    }
    
    public void start() {
        (thread = new Thread(this)).start();
    }
    
    public void stop() {
        thread = null;
    }
    
    public void paint(Graphics g) {   
     g.drawImage(images[0], x, y, this);
     g.drawImage(images[1], x1, y1, this);
        g.drawImage(images[2], 0, 0, this);       
    }
    
    public void run() {
        int delay = 1000; 
        try {
            while (thread == Thread.currentThread()) {
             x += 10;
             y += 10 ;
             x1 -= 10;
             y1 -= 10;
                repaint();
                Thread.sleep(delay);
            }
        } catch (Exception e) {
        }
    }
}

PM MAIL   Вверх
leskar
Дата 4.11.2008, 14:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 23.4.2008

Репутация: нет
Всего: нет



Есть такой классик интересный MediaTracker называется. Поищите примеры его использования. Возможно, это то, что Вам нужно.
PM MAIL   Вверх
Keyo
Дата 4.11.2008, 15:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 95
Регистрация: 10.4.2008

Репутация: нет
Всего: нет



а по моему нужно использовать свинг, а не авт... т.е. JApplet и вообще все остальное из javax.swing
PM MAIL   Вверх
inohodec
Дата 4.11.2008, 17:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 151
Регистрация: 1.12.2004

Репутация: нет
Всего: 2



Ок, всем спасибо за советы
Буду пробовать smile
PM MAIL   Вверх
Keyo
Дата 4.11.2008, 17:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 95
Регистрация: 10.4.2008

Репутация: нет
Всего: нет



В Swing реализована двойная буферизация, и включается/отключается просто вызовом метода setDoubleBuffered(boolean flag) соответствующего компонента. В то время как в AWT этого нет...
При чем isDoubleBuffered() == true по умолчанию
Поправьте если не прав.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   jk1
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема »


 




[ Время генерации скрипта: 0.0426 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.