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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Анимация на java, как реализовать? 
V
    Опции темы
Gregorian
Дата 23.12.2006, 23:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Добрый вечер!
Как реализовать спрайтовую анимацию на java. Сейчас читаю книгу "Занимательное программирование". Там описана модель идеального газа, но все коды на delphi. Мне нужно загрузить рисунок с прозрачностью формата png, который я нарисовал и перемещать по окну. Нужно вычислять позицию атома, рисовать, вычислять, стирать и рисовать на новом месте и т.д. только очень быстро.
--------------------
Вступил на путь доморощенного жабиста дилетанта! 
PM MAIL   Вверх
_Y_
Дата 24.12.2006, 14:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1651
Регистрация: 27.11.2006

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



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

По Вашему же вопросу ответом, видимо, будет двойное буферирование. Это стандартный метод применяемый в Яве, да и не только. Принцип простой: каждый кадр прорисовывается полностью будучи невидимым и только потом он заменяет кадр предидущий. И работает быстрее и экран не мигает. Подробнее в любой книге по Яве или в сети. Искать на ключ double buffering (если не очибаюсь - я это лет 7 назад делал)


--------------------
Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:)
PM MAIL WWW   Вверх
Gregorian
Дата 24.12.2006, 15:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата(_Y_ @  24.12.2006,  14:22 Найти цитируемый пост)
Не дадите-ли полную ссылку на эту книгу?

http://www.natahaus.ru/2006/11/25/mozgovoj...amouchitel.html

Цитата(_Y_ @  24.12.2006,  14:22 Найти цитируемый пост)
По Вашему же вопросу ответом, видимо, будет двойное буферирование. Это стандартный метод применяемый в Яве, да и не только. Принцип простой: каждый кадр прорисовывается полностью будучи невидимым и только потом он заменяет кадр предидущий.

Я вообще не знаю как вывести картинку на экран!

Попытался написать класс, но не получается.  smile 
Код

package simplemolecula;

import java.awt.*;
import java.awt.image.*;
import javax.swing.*;

public class Atom
{
    int x;
    int y;
    double speed;
    
    static ImageIcon pic = new ImageIcon("d:\\atom.png");
    
    public Atom(int x, int y, double speed)
    {
        this.x = x;
        this.y = y;
        this.speed = speed;
    }
    
    /**
     * Пытаюсь вывести на экран картинку
     */
    public void draw(Graphics G)
    {
        G.drawImage(pic, x, y, new ImageObserver()
        {
            public boolean imageUpdate(Image img, int infoflags, int x, int y, int width, int height)
            {
                // НЕ ЗНАЮ ЧТО НАДО ПИСАТЬ СЮДА?
            }
        });
    }
    
    public void calculateNextPosition()
    {
        
    }
}

--------------------
Вступил на путь доморощенного жабиста дилетанта! 
PM MAIL   Вверх
powerOn
Дата 24.12.2006, 16:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


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

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



по поводу добавления картинки: faq
по поводу анимации: рекомендую для начала почитать про GUI. а только потом уже переходить к более сложным вещам. Можно начать отсюда .




--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
Gregorian
Дата 24.12.2006, 18:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



powerOn, как наберу сто постов, поставлю плюс. Извини за прошлое, ты оказался хорошим модератором.  smile 
--------------------
Вступил на путь доморощенного жабиста дилетанта! 
PM MAIL   Вверх
powerOn
Дата 24.12.2006, 18:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


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

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



Цитата(Gregorian @  24.12.2006,  18:42 Найти цитируемый пост)
powerOn, как наберу сто постов, поставлю плюс. Извини за прошлое, ты оказался хорошим модератором.  smile   

Да, лааадно..  smile  я и не обижался  smile  smile 


--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
Metal_Heart
Дата 25.12.2006, 11:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


а почему бы и нет?
**


Профиль
Группа: Участник
Сообщений: 728
Регистрация: 31.3.2005
Где: Москва

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



Цитата(Gregorian @  24.12.2006,  18:42 Найти цитируемый пост)
powerOn, как наберу сто постов, поставлю плюс. Извини за прошлое, ты оказался хорошим модератором.


такое не оставлю без внимания!  smile 



--------------------
 не стыдно учиться, а стыдно не учиться 
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0507 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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