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

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

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

Ответ
 
Опции темы
Старый 23.08.2009, 19:24   #31
abcdef
Знающий
 
Регистрация: 16.09.2008
Сообщений: 299
Написано 71 полезных сообщений
(для 123 пользователей)
Ответ: Разработка игры "DooM story"

чтобы сделать выравнивание по правому краю достаточно выводить строку с конца
(Offline)
 
Ответить с цитированием
Старый 23.08.2009, 20:53   #32
cherepets
Бывалый
 
Регистрация: 18.08.2009
Сообщений: 745
Написано 146 полезных сообщений
(для 215 пользователей)
Ответ: Разработка игры "DooM story"

В смысле как-то так?
program abcdef;

procedure right(str :string; x,y :integer);
var  
  i :integer;
begin
  for i:=0 to length(str)-1 do
  begin
drawtext(getChar(str,length(str)-1-i),(x-i*8-8),y);
  end;
end;

begin
right('abcdef',240,20);
repaint;
delay(10000);
end.
Просто до подобного-то я сразу додумался, но это далеко не лучший вариант. Ширина разных символов разная, так что текст будет выглядеть не совсем правильно...

Последний раз редактировалось cherepets, 23.08.2009 в 21:03.
(Offline)
 
Ответить с цитированием
Старый 23.08.2009, 23:23   #33
Tronix
Знающий
 
Регистрация: 26.07.2009
Адрес: Россия, Москва
Сообщений: 318
Написано 103 полезных сообщений
(для 331 пользователей)
Ответ: Разработка игры "DooM story"

Есть такая функция function GetStringHeight(text: string): integer;
, как написано в хелпе: Returns the height (in pixels) for showing the 'text' on display in the current font. Поэтому я думаю, что с помощью нее труда вывести текст справо не составит труда..
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
cherepets (23.08.2009)
Старый 23.08.2009, 23:30   #34
cherepets
Бывалый
 
Регистрация: 18.08.2009
Сообщений: 745
Написано 146 полезных сообщений
(для 215 пользователей)
Ответ: Разработка игры "DooM story"

Спасибо))
Только в нашем случае getStringWidth нужно. Высота нам любая подходит.
В хелпе искал подобное в строках, а оно в рисовании оказалось...
(Offline)
 
Ответить с цитированием
Старый 23.08.2009, 23:36   #35
Tronix
Знающий
 
Регистрация: 26.07.2009
Адрес: Россия, Москва
Сообщений: 318
Написано 103 полезных сообщений
(для 331 пользователей)
Ответ: Разработка игры "DooM story"

Сообщение от cherepets Посмотреть сообщение
Спасибо))
Только в нашем случае getStringWidth нужно. Высота нам любая подходит.
В хелпе искал подобное в строках, а оно в рисовании оказалось...
Да, сорри, после свадьбы я, перепутал. Конечно getStringWidth я имел ввиду.
(Offline)
 
Ответить с цитированием
Старый 24.08.2009, 09:54   #36
abcdef
Знающий
 
Регистрация: 16.09.2008
Сообщений: 299
Написано 71 полезных сообщений
(для 123 пользователей)
Ответ: Разработка игры "DooM story"

я бы написал для всей строки сразу: drawtext(s, maxw-getStringWidth(s),ypos);
где s - строка текста, maxw-граница правого края, ypos - у координата
и для посимвольного вывода:
var
  cw : array[0..255] of integer;
  i,p,c : integer;
begin
  for i:=0 to 255 do cw[i]:=getStringWidth(chr(i));
  // затем подставляем сюда ширину русского шрифт желательно в cp1251 (win) или cp866 (dos)
  ...
  p:=maxw;
  for i:=length(s)-1 downto 0 do
  begin
    c:=ord(getChar(s,i));
    p:=p-cw[c];
    ... делаем преобразование русских символов в utf8 и выводим
    drawtext(chr(c),p,ypos);
  end;
___
p.s. png нужно оптимизировать, 500 кб слишком много. Лучше сразу делать графику под разрешение 176x208 (176x220) т.к. они наиболее распространены, или 128x128 чтоб работало практически везде.

Последний раз редактировалось abcdef, 24.08.2009 в 10:01.
(Offline)
 
Ответить с цитированием
Старый 24.08.2009, 12:32   #37
cherepets
Бывалый
 
Регистрация: 18.08.2009
Сообщений: 745
Написано 146 полезных сообщений
(для 215 пользователей)
Ответ: Разработка игры "DooM story"

Насчет png: часть картинок оптимизирована, а те для которых важна полупрозрачность - нет.
Все ресурсы сейчас 575кб. Думаю полная игра будет ~1.5мб.
Т.к. сначала делаю под 240х320, а там телефоны в основном мощные, то думаю это норм.

176х208 уже не так сильно распространены. Года 2 назад еще может быть, а сейчас уже почти у всех 240х320, так что я даж не запаривался о разрешении. И вобще уже стоило бы задумываться о разрешении как на 5800 и тач скрине.
(Offline)
 
Ответить с цитированием
Старый 24.08.2009, 13:38   #38
AVIZO
Нуждающийся
 
Регистрация: 16.11.2006
Сообщений: 56
Написано 9 полезных сообщений
(для 29 пользователей)
Ответ: Разработка игры "DooM story"

А собрать универсальную, под все разрешения от 128*128 до 320*240, никак?
(Offline)
 
Ответить с цитированием
Старый 24.08.2009, 14:18   #39
cherepets
Бывалый
 
Регистрация: 18.08.2009
Сообщений: 745
Написано 146 полезных сообщений
(для 215 пользователей)
Ответ: Разработка игры "DooM story"

AVIZO, мидлет паскаль умеет ресайз картинкам делать, векторную графику поддерживает или ты предлагаешь запихать туда графики на все разрешения (будет игра на 10 метров)?

В нашем (как и в большинстве других) случае придется делать несколько версий. Я ограничусь 2мя: 240х320 и 176х208. За 176х208 возьмусь когда закончу 240х320.
(Offline)
 
Ответить с цитированием
Старый 24.08.2009, 15:40   #40
abcdef
Знающий
 
Регистрация: 16.09.2008
Сообщений: 299
Написано 71 полезных сообщений
(для 123 пользователей)
Ответ: Разработка игры "DooM story"

если делать средствами MP, то картики без прозрачности лучше соединить в однин файл, а разбивать на отдельные при загрузке. А лучше создать свой формат изображений с фиксированным набором цветов. в сети много советов как оптимизировать j2me архивы
__
p.s. на этом форуме у немногих есть устройства с разрешением 240х320, а смотреть в эмуляторе удовольствия мало
(Offline)
 
Ответить с цитированием
Старый 24.08.2009, 16:16   #41
cherepets
Бывалый
 
Регистрация: 18.08.2009
Сообщений: 745
Написано 146 полезных сообщений
(для 215 пользователей)
Ответ: Разработка игры "DooM story"

Важен не только размер но и качество. Поэтому у всех картинок разные палитры (в некоторых вообще 16цв).
Если загнать в одну, то придется использовать гораздо больше цветов (практически полный ргб) либо использовать в картинках меньше цветов (и от качества).

Так что лучше продолжать как есть.
К тому же сделано еще далеко не все. И о вещах второстепенной важности задумываться пока не стоит.

Опрос своего кл из аси (разрешение - люди):
<176x208 - 4
176х208/176х220 - 8
240х320 -19
>240х320 - 6
(Offline)
 
Ответить с цитированием
Старый 25.08.2009, 01:23   #42
Dj_Alex
ПроЭктировщик
 
Аватар для Dj_Alex
 
Регистрация: 08.03.2009
Адрес: Saransk
Сообщений: 143
Написано 25 полезных сообщений
(для 45 пользователей)
Ответ: Разработка игры "DooM story"

да пускай делает 240х320 если у него тел с таким разрешением. я к примеру делаю для себя 176х220 и тестю на теле, а уже потом делаю версию 240х320. или сразу делаю мультискрин.

насчет демо, то плавающие астероиды в меню лучше сделать под названием игры. а курсор лучше сделать привязанным к пунктам меню, то есть. сначала он стоит на 1 пункте, потом нажимаешь вниз, он перемещается сам ко 2 пункту хоть скачком, хоть плавно, но штоб не приходилось самому двигать до нужного места.

еще
в самом начале появляется лого cherepets game. в ресурсах лежат 2 изображения. один из которых затемненный. затемнить можно с помощью либы effects и тем самым второе изображение не нужно.

ну и текст можно было бы вывести стандартными средствами или использовать граф. шрифты. для каждой надписи картинку - слишком шикарно.

да и сжать изображения тоже не помешает. 128 цветов и индексной прозрачность спокойно хватит для java игры.

размер архива все же критичен для некоторых телефонов.
__________________
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
cherepets (25.08.2009)
Старый 25.08.2009, 13:42   #43
cherepets
Бывалый
 
Регистрация: 18.08.2009
Сообщений: 745
Написано 146 полезных сообщений
(для 215 пользователей)
Ответ: Разработка игры "DooM story"

а курсор лучше сделать привязанным к пунктам меню, то есть. сначала он стоит на 1 пункте, потом нажимаешь вниз, он перемещается сам ко 2 пункту хоть скачком, хоть плавно, но штоб не приходилось самому двигать до нужного места.

еще
в самом начале появляется лого cherepets game. в ресурсах лежат 2 изображения. один из которых затемненный. затемнить можно с помощью либы effects и тем самым второе изображение не нужно.
Хм, а вот насчет либы - мысль очень хорошая, и в меню пункты подсвечиваться будут тогда))

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

да и сжать изображения тоже не помешает. 128 цветов и индексной прозрачность спокойно хватит для java игры.
Часть изображений будет очень сильно сжата, а часть - вообще никак.
Думаю это вполне нормально.
(Offline)
 
Ответить с цитированием
Старый 25.08.2009, 14:38   #44
Dj_Alex
ПроЭктировщик
 
Аватар для Dj_Alex
 
Регистрация: 08.03.2009
Адрес: Saransk
Сообщений: 143
Написано 25 полезных сообщений
(для 45 пользователей)
Ответ: Разработка игры "DooM story"

Сообщение от cherepets Посмотреть сообщение
Делал отдельными картинками, т.к. стандартными криво выходит - результат на моем телефоне, на чужом и на эмуле всегда разный выходит... Нормально только если в форме, но это не особо красиво.
юзай графические шрифты
__________________
(Offline)
 
Ответить с цитированием
Старый 25.08.2009, 14:52   #45
cherepets
Бывалый
 
Регистрация: 18.08.2009
Сообщений: 745
Написано 146 полезных сообщений
(для 215 пользователей)
Ответ: Разработка игры "DooM story"

Думаю разница будет невелика если я просто зажму картинки до максимума (2 цвета: белый + транспанент)
Собственно помощь показанная в демке - это и есть вообще вся помощь.

Последний раз редактировалось cherepets, 25.08.2009 в 14:59.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Мои игры из серии "Real Space Simulators" Morganolla Проекты C++ 39 07.05.2011 18:41
Можно ли сделать так чтобы при нажатии "вверх" и "вниз" двигалась одна картинка, а при нажатии "вправо" и "влево" - другая Total_Nube_&_Lamo Основной форум 2 13.12.2009 22:00
"Кодирование/декодирование изображений", или "Давайте попробуем скрыть ресурсы мидлетов" Richik Библиотеки 17 03.06.2009 14:18
Демо игры "Renju" (5 в ряд) stone_evil Проекты на Blitz3D 10 19.01.2009 21:48
Разработка аркадной "леталки" Valet 3D-программирование 7 05.04.2007 01:58


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


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