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

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

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

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

Ответ
 
Опции темы
Старый 22.05.2006, 09:50   #1
Glex
AnyKey`щик
 
Регистрация: 22.05.2006
Сообщений: 3
Написано 0 полезных сообщений
(для 0 пользователей)
Итак, установил я MP вчера.
Написал летающий шарик(bulb) и возрадовался!

Затем захотел я написать калькулятор. Не нашёл formAddButton.

Ну ладно, была не была, решил я, напишу арканоид.

Поле арканоида рисуется 17 секунд
Рисуется оно из image'ов.

А я видел арканоид на J2ME, который летает.


Внимание, вопрос:

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

(Offline)
 
Ответить с цитированием
Старый 22.05.2006, 10:47   #2
Guest
 
Сообщений: n/a
ты наверно рисуешь поле загружая каждую картинку из ресурса, отдельно.
нужно все элементы одной картинкой загрузить в память, а потом уж рисуй.
repaint нужно вызывать после всех изменений экрана. можно перерисовывать только часть экрана, если использовать библиотеку, например мою
можно еще воспользоваться GameAPI, но проверить что быстрее и оптимальнее.
 
Ответить с цитированием
Старый 23.05.2006, 15:06   #3
Glex
AnyKey`щик
 
Регистрация: 22.05.2006
Сообщений: 3
Написано 0 полезных сообщений
(для 0 пользователей)
Originally posted by Guest@22.5.2006, 7:47
ты наверно рисуешь поле загружая каждую картинку из ресурса, отдельно.
нужно все элементы одной картинкой загрузить в память, а потом уж рисуй.
repaint нужно вызывать после всех изменений экрана. можно перерисовывать только часть экрана, если использовать библиотеку, например мою
можно еще воспользоваться GameAPI, но проверить что быстрее и оптимальнее.
Товарищ guest,
загрузить все элементы одной картинкой в память это как?
сделать вначале одну картинку игрового поля, а потом её грузить?

Перерисовывать только часть экрана это было бы супер =)
А есть ли возможность перерисовывать event'aми, или event'ов в MPas нету?
(Offline)
 
Ответить с цитированием
Старый 23.05.2006, 18:01   #4
Инкогнито
 
Сообщений: n/a
Тот гость,как я понял,имел ввиду что, может ты делаешь перерисовку после каждого вызова дравимаже(
loadimage
repaint
loadimage
repaint
loadimage
repaint),хотя надо репаинт делать один раз,в самом конце после всех выводов(
loadimage
loadimage
loadimage
repaint).
евент это типа многопоточность?в паскале их нет.
для перерисовки части экрана есть встроенная процедура setclip...
и кхе,кхе наследования в мпаскале точно нет-не ооп.
 
Ответить с цитированием
Старый 23.05.2006, 19:15   #5
Piligrim
Оптимист
 
Регистрация: 07.01.2006
Сообщений: 961
Написано 105 полезных сообщений
(для 259 пользователей)
Originally posted by Glex+23.5.2006, 13:06--><div class='quotetop'>ЦИТАТА(Glex @ 23.5.2006, 13:06)</div><div class='quotemain'>загрузить все элементы одной картинкой в память это как?
сделать вначале одну картинку игрового поля, а потом её грузить?
[/b]

именно это я и имел в виду. а потом уже в памяти разодрать ее на отдельные элементы поля. imageFromImage
Originally posted by [email protected], 13:06
Перерисовывать только часть экрана это было бы супер =)
в моей бибилотеке cnv2: repaint_part(int x, int y, int w, int h)
<!--QuoteBegin-Glex
@23.5.2006, 13:06
А есть ли возможность перерисовывать event'aми, или event'ов в MPas нету?
[/quote]
Событий нет. Реагировать можно только по опросу клавиш и задержкам, если не писать опять же свою библиотеку с таймерами :'((
для перерисовки части экрана есть встроенная процедура setclip...
Это для рисования на части экрана
(Offline)
 
Ответить с цитированием
Старый 24.05.2006, 22:44   #6
Glex
AnyKey`щик
 
Регистрация: 22.05.2006
Сообщений: 3
Написано 0 полезных сообщений
(для 0 пользователей)
const
   NBlocks = 1;
   LevelCount = 1;
   NMax = 10;
   MMax = 5;


   Levels = array[1..LevelCount, 1..MMax, 1..NMax] of integer = 
                                 (((1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1),
                                  (1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1),
                                  (1,1,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1),
                                  (1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1),
                                  (1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1)));
error, constant expected

Блин, не могу найти ошибку ((
(Offline)
 
Ответить с цитированием
Старый 24.05.2006, 22:55   #7
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ну... одни лищние скобки (вначале и конце)... больше на первый взгляд не ...

Я бы посоветовал оставить просто двумерный массив, а весь его контент грузить из ресурсов...
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Виртуальное наследование wolfhound512 C++ 4 26.11.2009 12:38
Наследование Serg_Bloim Программирование 1 07.01.2009 21:57
C++, Наследование, Деструктор wolfhound512 C++ 4 16.11.2008 02:18
Насчет FS и S-классов в мидлете... beisik Основной форум 6 26.07.2008 03:57
Формирование классов Gnom 3D-программирование 13 10.03.2006 21:10


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


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