forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Основной форум (http://forum.boolean.name/forumdisplay.php?f=49)
-   -   А где события, наследование классов контролов? (http://forum.boolean.name/showthread.php?t=932)

Glex 22.05.2006 09:50

Итак, установил я MP вчера.
Написал летающий шарик(bulb) и возрадовался!

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

Ну ладно, была не была, решил я, напишу арканоид.
:)
Поле арканоида рисуется 17 секунд :)
Рисуется оно из image'ов.

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


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

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

:wallbash: :wallbash: :wallbash:

Guest 22.05.2006 10:47

ты наверно рисуешь поле загружая каждую картинку из ресурса, отдельно.
нужно все элементы одной картинкой загрузить в память, а потом уж рисуй.
repaint нужно вызывать после всех изменений экрана. можно перерисовывать только часть экрана, если использовать библиотеку, например мою :@
можно еще воспользоваться GameAPI, но проверить что быстрее и оптимальнее.

Glex 23.05.2006 15:06

Цитата:

Originally posted by Guest@22.5.2006, 7:47
ты наверно рисуешь поле загружая каждую картинку из ресурса, отдельно.
нужно все элементы одной картинкой загрузить в память, а потом уж рисуй.
repaint нужно вызывать после всех изменений экрана. можно перерисовывать только часть экрана, если использовать библиотеку, например мою :@
можно еще воспользоваться GameAPI, но проверить что быстрее и оптимальнее.

Товарищ guest,
загрузить все элементы одной картинкой в память это как?
сделать вначале одну картинку игрового поля, а потом её грузить?

Перерисовывать только часть экрана это было бы супер =)
А есть ли возможность перерисовывать event'aми, или event'ов в MPas нету?

Инкогнито 23.05.2006 18:01

Тот гость,как я понял,имел ввиду что, может ты делаешь перерисовку после каждого вызова дравимаже(
loadimage
repaint
loadimage
repaint
loadimage
repaint),хотя надо репаинт делать один раз,в самом конце после всех выводов(
loadimage
loadimage
loadimage
repaint).
евент это типа многопоточность?в паскале их нет.
для перерисовки части экрана есть встроенная процедура setclip...
и кхе,кхе наследования в мпаскале точно нет-не ооп.

Piligrim 23.05.2006 19:15

Цитата:

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...

Это для рисования на части экрана :)

Glex 24.05.2006 22:44

Код:


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

Блин, не могу найти ошибку ((

pax 24.05.2006 22:55

Ну... одни лищние скобки (вначале и конце)... больше на первый взгляд не ...

Я бы посоветовал оставить просто двумерный массив, а весь его контент грузить из ресурсов...


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

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot