Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для мобильных телефонов > MidletPascal > Основной форум

Основной форум Сюда все проблемы связанные с программированием.

Ответ
 
Опции темы
Старый 05.09.2011, 04:03   #1
MidletUser
AnyKey`щик
 
Регистрация: 11.08.2011
Сообщений: 8
Написано одно полезное сообщение
Параллельные процессы отображения графических элементов?

Параллельные процессы отображения графических элементов?

Уважаемые пользователи Midlet Pascal,

кто сталкивался с задачей одновременно показывать 2 или более анимаций с разными временными интервалами их отображения на экране в режиме showCanvas, протекающие как 2 независимых друг от друга параллельных процесса отображения графики в верхней и нижней частях экрана, отсутствие и присутствие которых, на экране проявляется с разными временными интервалами, требующие частичного очищения экрана на две части с учётом одновременности протекания данных параллельных графических процессов, выполнение которых, не приведёт к очищению всего экрана. Какие для этого есть решения в пределах синтаксиса Midlet Pascal?

С уважением, MidletUser.
(Offline)
 
Ответить с цитированием
Старый 05.09.2011, 11:31   #2
Romanzes
Разработчик
 
Аватар для Romanzes
 
Регистрация: 06.04.2008
Сообщений: 541
Написано 196 полезных сообщений
(для 637 пользователей)
Ответ: Параллельные процессы отображения графических элементов?

Сообщение от MidletUser Посмотреть сообщение
кто сталкивался с задачей одновременно показывать 2 или более анимаций с разными временными интервалами их отображения на экране в режиме showCanvas, протекающие как 2 независимых друг от друга параллельных процесса отображения графики в верхней и нижней частях экрана, отсутствие и присутствие которых, на экране проявляется с разными временными интервалами, требующие частичного очищения экрана на две части с учётом одновременности протекания данных параллельных графических процессов, выполнение которых, не приведёт к очищению всего экрана.
Супер конструкция, я долго осиливал. Тебе бы юридические речи писать
По теме: не знаю, как это реализовать в Midlet Pascal, но в Java можно бы было использовать 2 буферных картинки размером в пол-экрана (или по сколько тебе там нужно). И соответственно, перерисовывать в нужный момент то верхнюю, то нижнюю часть.

public void paint(Graphics g) {
    if (needRepaintTop)
        g.drawImage(topBuffer, 0, 0, 0);
    if (needRepaintBottom)
        g.drawImage(bottomBuffer, 0, scrH, Graphics.LEFT | Graphics.BOTTOM);
    needRepaintTop = false;
    needRepaintBottom = false;
}
(Offline)
 
Ответить с цитированием
Старый 05.09.2011, 14:01   #3
alexprey
ПроЭктировщик
 
Регистрация: 22.10.2010
Сообщений: 196
Написано 16 полезных сообщений
(для 30 пользователей)
Ответ: Параллельные процессы отображения графических элементов?

MidletUser, такую технологию на мп еще никто не писал. Флаг тебе в руки
__________________
Для меня нет ничего не реального в кодинге, но мне лень
gainOS - прорыв в проектировании ОС на MIDlet Pascal
(Offline)
 
Ответить с цитированием
Старый 05.09.2011, 20:53   #4
DIMMON4IK
Знающий
 
Аватар для DIMMON4IK
 
Регистрация: 21.07.2009
Адрес: Украина
Сообщений: 219
Написано 44 полезных сообщений
(для 78 пользователей)
Ответ: Параллельные процессы отображения графических элементов?

Lib_threads тебе в руки
http://forum.boolean.name/showthread.php?t=8395
__________________


(Offline)
 
Ответить с цитированием
Старый 06.09.2011, 02:11   #5
alexprey
ПроЭктировщик
 
Регистрация: 22.10.2010
Сообщений: 196
Написано 16 полезных сообщений
(для 30 пользователей)
Ответ: Параллельные процессы отображения графических элементов?

DIMMON4IK, надеюсь ты знаешь последствия вывода граффики в разных потоках. Но походу не знаешь раз предлагаешь
__________________
Для меня нет ничего не реального в кодинге, но мне лень
gainOS - прорыв в проектировании ОС на MIDlet Pascal
(Offline)
 
Ответить с цитированием
Старый 06.09.2011, 12:56   #6
Igor
Мастер
 
Аватар для Igor
 
Регистрация: 03.05.2010
Адрес: Подмосковье
Сообщений: 1,218
Написано 438 полезных сообщений
(для 790 пользователей)
Ответ: Параллельные процессы отображения графических элементов?

procedure setClip(int x, int y, int width, int height);
Устанавливает регион, на который в дальнейшем влияют процедуры рисования.
Это из справки.
Параллельные процессы точно нужны? Можно написать две функции, каждая почти "процесс", запускать их поочерёдно.
Переменные сделать глобальными. Если очень хочется, можно создать тип record=first - где будут переменные для первого процесса и похожий тип для второго.


type
First=record
a,b:integer;
end;

Second=record
t:integer;
end;


procedure process1;
begin
setClip(0,0,x,y);
DrawЧтоНибудь(first.a,first.b);
end;

procedure process2;
begin
if GetRelativeTimeMS-second.t>100 then
begin
second.t:=GetRelativeTimeMS
setClip(x,y,getwidth,getHeight)
DrawЕщёЧтоНибудь;
end;
end;

repeat
process1;
process2;
repaint;
until false;

__________________
О¯О ¡¡¡ʁɔvʎнdǝʚǝdǝu dиW
(Offline)
 
Ответить с цитированием
Старый 09.09.2011, 00:03   #7
PassCall
Разработчик
 
Аватар для PassCall
 
Регистрация: 07.04.2011
Адрес: Млечный путь, Земля, Европа, Беларусь, Могилев
Сообщений: 391
Написано 94 полезных сообщений
(для 319 пользователей)
Ответ: Параллельные процессы отображения графических элементов?

Сообщение от MidletUser Посмотреть сообщение
Параллельные процессы отображения графических элементов?

Уважаемые пользователи Midlet Pascal,

кто сталкивался с задачей одновременно показывать 2 или более анимаций с разными временными интервалами их отображения на экране в режиме showCanvas, протекающие как 2 независимых друг от друга параллельных процесса отображения графики в верхней и нижней частях экрана, отсутствие и присутствие которых, на экране проявляется с разными временными интервалами, требующие частичного очищения экрана на две части с учётом одновременности протекания данных параллельных графических процессов, выполнение которых, не приведёт к очищению всего экрана. Какие для этого есть решения в пределах синтаксиса Midlet Pascal?

С уважением, MidletUser.
Для чего вообще параллельные процессы? Зачем такое шаманство? Почему не ввести 2 переменные-счетчика (например, period_one и period_two), которые перед каждой перерисовки графики будут приращиваться на 1. Когда "счетчики" достигнут определенного значения (для каждого свой), сбросить соответствующий счетчик и прорисовать нужный кадр.
__________________
Мечта программиста: запрограммировать процесс программирования.

Всё гениальное - просто.

http://passcall.ucoz.com
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 08:54.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com