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

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

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

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

Ответ
 
Опции темы
Старый 08.09.2007, 12:56   #1
ar4angel
AnyKey`щик
 
Регистрация: 23.08.2007
Сообщений: 6
Написано 0 полезных сообщений
(для 0 пользователей)
Отрисовка

День добрый!

Такой вопрос:
program test;
var
a:integer;
begin
for a:=1 to 10 do
begin
	drawText(''+a, 0, 0);
	repaint;	
	delay(1000); 
	end;
end.
Если запустить мидлет, то текст (цифры) на дисплее будет накладываться друг на дружку...
Что можно сделать, что бы этого наложения не было?
(Offline)
 
Ответить с цитированием
Старый 08.09.2007, 13:05   #2
Jet
ПроЭктировщик
 
Регистрация: 04.09.2005
Сообщений: 139
Написано одно полезное сообщение
Re: Отрисовка

Если запустить мидлет, то текст (цифры) на дисплее будет накладываться друг на дружку...
Что можно сделать, что бы этого наложения не было?
для этого можно для разных букв указывать разные координаты в команде drawText
(Offline)
 
Ответить с цитированием
Старый 08.09.2007, 14:01   #3
ar4angel
AnyKey`щик
 
Регистрация: 23.08.2007
Сообщений: 6
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Отрисовка

А если нужно отрисовывать текст именно в одной и той же области?
Как можно очистить экран перед повторной отрисовкой?
(Offline)
 
Ответить с цитированием
Старый 08.09.2007, 15:32   #4
ViNT
Модератор
 
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений
(для 817 пользователей)
Re: Отрисовка

Можно так:
program test;
var
a:integer;
x:integer;
begin
for a:=1 to 10 do
begin
x:=x+getstringwidth(integertostring(a))+2;
drawText(''+a,x, 0);
repaint;
delay(1000); 
end;
end.
(Offline)
 
Ответить с цитированием
Старый 08.09.2007, 18:20   #5
ar4angel
AnyKey`щик
 
Регистрация: 23.08.2007
Сообщений: 6
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Отрисовка

Не, ребят, вы меня не понимаете...
Гляньте на мой пример. Мне нужно, чтобы вместо "1", появиласть "2", затем "3" и т.д. на одном и том же месте.
Т.е. перед отрисовкой следующего числа нужно очистить дисплей.
Как можно вызвать "местный CLS", т.е. просто очистить экран?
(Offline)
 
Ответить с цитированием
Старый 08.09.2007, 19:13   #6
dimanche13
Мастер
 
Регистрация: 19.03.2007
Сообщений: 1,039
Написано 153 полезных сообщений
(для 252 пользователей)
Re: Отрисовка

Перед выводом а, пиши в ту позицию (0,0) пробел.
(Offline)
 
Ответить с цитированием
Старый 08.09.2007, 19:45   #7
ar4angel
AnyKey`щик
 
Регистрация: 23.08.2007
Сообщений: 6
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Отрисовка

Пишу пробел - ноль эффекта, почему-то...
program test;
var
a:integer;
begin
for a:=1 to 10 do
begin
drawText(' ',0, 0);
drawText(''+a,0, 0);
repaint;
delay(1000); 
end;
end.
В чём проблема может быть?
(Offline)
 
Ответить с цитированием
Старый 08.09.2007, 19:57   #8
dimanche13
Мастер
 
Регистрация: 19.03.2007
Сообщений: 1,039
Написано 153 полезных сообщений
(для 252 пользователей)
Re: Отрисовка

drawText(' ',0, 0);
repaint;
drawText(''+a,0, 0);
repaint;
может так? а вообще не знаю я МП...
(Offline)
 
Ответить с цитированием
Старый 08.09.2007, 19:58   #9
Chrono Syndrome
 
Сообщений: n/a
Re: Отрисовка

Чисто алгоритмически твоя проблема решается изначальной закраской фоном участка, на котором выводится текст. Ммм... в MidletPascal'е есть процедуры для отрисовки закрашенных прямоугольников ?
 
Ответить с цитированием
Старый 08.09.2007, 19:59   #10
ar4angel
AnyKey`щик
 
Регистрация: 23.08.2007
Сообщений: 6
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Отрисовка

В общем, вот чего изобрёл:
program test;
var
a:integer;
begin
for a:=1 to 10 do
begin
setColor(0,0,0);
drawText(''+a,0, 0);
repaint;
delay(1000); 
{MyRepaint}
setColor(255,255,255);
fillRect(0,0,getWidth,getHeight);
 
end;
end.
Всем спасибо за внимание!
(Offline)
 
Ответить с цитированием
Старый 08.09.2007, 20:02   #11
dimanche13
Мастер
 
Регистрация: 19.03.2007
Сообщений: 1,039
Написано 153 полезных сообщений
(для 252 пользователей)
Re: Отрисовка

Мдяааа, жёсткий язык, этот мидлет паскаль)))
(Offline)
 
Ответить с цитированием
Старый 08.09.2007, 20:05   #12
Chrono Syndrome
 
Сообщений: n/a
Re: Отрисовка

drawText(''+a,0, 0);
Кстати, а что это за дикая конструкция такая) ?
 
Ответить с цитированием
Старый 08.09.2007, 20:20   #13
ar4angel
AnyKey`щик
 
Регистрация: 23.08.2007
Сообщений: 6
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Отрисовка

Тоже моё изобретение...
У меня практически никакого опыта в программировании, поэтому не знаю как вывести на дисплей Integer.
Если оставить только:
drawText(a,0, 0);
- MP ругается: "error on parameter 1".
Может тогда разъясните, как вывести на дисплей число "без извращений"?
(Offline)
 
Ответить с цитированием
Старый 08.09.2007, 20:25   #14
ViNT
Модератор
 
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений
(для 817 пользователей)
Re: Отрисовка

Сообщение от Chrono Syndrome
Кстати, а что это за дикая конструкция такая) ?
Если написать просто "a" то получится ошибка с типом параметра, а если написать так, то он склеит '' и "a", автоматически преобразовав "a" в строку. Так же, как writeln(a) в TP.

Может тогда разъясните, как вывести на дисплей число "без извращений"?
Без извращений не получится .
Либо
drawText(''+a,0, 0);
либо
drawText(Integertostring(a),0, 0);
Второй метод-наиболее стандартный.
(Offline)
 
Ответить с цитированием
Старый 08.09.2007, 21:08   #15
Chrono Syndrome
 
Сообщений: n/a
Re: Отрисовка

Если написать просто "a" то получится ошибка с типом параметра, а если написать так, то он склеит '' и "a", автоматически преобразовав "a" в строку.
КрЫсота... (C)
Не, ну создатели этого Мидлета уж определились бы как-нибудь: у ихнего детища строгая типизация или нет) ?
 
Ответить с цитированием
Ответ


Опции темы

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Benchmark: Отрисовка картинок HolyDel Болтовня 25 25.01.2009 20:37
Отрисовка окан. Delta_Q Blitz3D 7 30.10.2007 13:26


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


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