|
23.08.2009, 19:24
|
#31
|
Знающий
Регистрация: 16.09.2008
Сообщений: 299
Написано 71 полезных сообщений (для 123 пользователей)
|
Ответ: Разработка игры "DooM story"
чтобы сделать выравнивание по правому краю достаточно выводить строку с конца
|
(Offline)
|
|
23.08.2009, 20:53
|
#32
|
Бывалый
Регистрация: 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
|
Знающий
Регистрация: 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)
|
|
Сообщение было полезно следующим пользователям:
|
|
23.08.2009, 23:30
|
#34
|
Бывалый
Регистрация: 18.08.2009
Сообщений: 745
Написано 146 полезных сообщений (для 215 пользователей)
|
Ответ: Разработка игры "DooM story"
Спасибо))
Только в нашем случае getStringWidth нужно. Высота нам любая подходит.
В хелпе искал подобное в строках, а оно в рисовании оказалось...
|
(Offline)
|
|
23.08.2009, 23:36
|
#35
|
Знающий
Регистрация: 26.07.2009
Адрес: Россия, Москва
Сообщений: 318
Написано 103 полезных сообщений (для 331 пользователей)
|
Ответ: Разработка игры "DooM story"
Сообщение от cherepets
Спасибо))
Только в нашем случае getStringWidth нужно. Высота нам любая подходит.
В хелпе искал подобное в строках, а оно в рисовании оказалось...
|
Да, сорри, после свадьбы я, перепутал. Конечно getStringWidth я имел ввиду.
|
(Offline)
|
|
24.08.2009, 09:54
|
#36
|
Знающий
Регистрация: 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
|
Бывалый
Регистрация: 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
|
Нуждающийся
Регистрация: 16.11.2006
Сообщений: 56
Написано 9 полезных сообщений (для 29 пользователей)
|
Ответ: Разработка игры "DooM story"
А собрать универсальную, под все разрешения от 128*128 до 320*240, никак?
|
(Offline)
|
|
24.08.2009, 14:18
|
#39
|
Бывалый
Регистрация: 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
|
Знающий
Регистрация: 16.09.2008
Сообщений: 299
Написано 71 полезных сообщений (для 123 пользователей)
|
Ответ: Разработка игры "DooM story"
если делать средствами MP, то картики без прозрачности лучше соединить в однин файл, а разбивать на отдельные при загрузке. А лучше создать свой формат изображений с фиксированным набором цветов. в сети много советов как оптимизировать j2me архивы
__
p.s. на этом форуме у немногих есть устройства с разрешением 240х320, а смотреть в эмуляторе удовольствия мало
|
(Offline)
|
|
24.08.2009, 16:16
|
#41
|
Бывалый
Регистрация: 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
|
ПроЭктировщик
Регистрация: 08.03.2009
Адрес: Saransk
Сообщений: 143
Написано 25 полезных сообщений (для 45 пользователей)
|
Ответ: Разработка игры "DooM story"
да пускай делает 240х320 если у него тел с таким разрешением. я к примеру делаю для себя 176х220 и тестю на теле, а уже потом делаю версию 240х320. или сразу делаю мультискрин.
насчет демо, то плавающие астероиды в меню лучше сделать под названием игры. а курсор лучше сделать привязанным к пунктам меню, то есть. сначала он стоит на 1 пункте, потом нажимаешь вниз, он перемещается сам ко 2 пункту хоть скачком, хоть плавно, но штоб не приходилось самому двигать до нужного места.
еще
в самом начале появляется лого cherepets game. в ресурсах лежат 2 изображения. один из которых затемненный. затемнить можно с помощью либы effects и тем самым второе изображение не нужно.
ну и текст можно было бы вывести стандартными средствами или использовать граф. шрифты. для каждой надписи картинку - слишком шикарно.
да и сжать изображения тоже не помешает. 128 цветов и индексной прозрачность спокойно хватит для java игры.
размер архива все же критичен для некоторых телефонов.
__________________
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
25.08.2009, 13:42
|
#43
|
Бывалый
Регистрация: 18.08.2009
Сообщений: 745
Написано 146 полезных сообщений (для 215 пользователей)
|
Ответ: Разработка игры "DooM story"
а курсор лучше сделать привязанным к пунктам меню, то есть. сначала он стоит на 1 пункте, потом нажимаешь вниз, он перемещается сам ко 2 пункту хоть скачком, хоть плавно, но штоб не приходилось самому двигать до нужного места.
еще
в самом начале появляется лого cherepets game. в ресурсах лежат 2 изображения. один из которых затемненный. затемнить можно с помощью либы effects и тем самым второе изображение не нужно.
|
Хм, а вот насчет либы - мысль очень хорошая, и в меню пункты подсвечиваться будут тогда))
ну и текст можно было бы вывести стандартными средствами или использовать граф. шрифты. для каждой надписи картинку - слишком шикарно.
|
Делал отдельными картинками, т.к. стандартными криво выходит - результат на моем телефоне, на чужом и на эмуле всегда разный выходит... Нормально только если в форме, но это не особо красиво.
да и сжать изображения тоже не помешает. 128 цветов и индексной прозрачность спокойно хватит для java игры.
|
Часть изображений будет очень сильно сжата, а часть - вообще никак.
Думаю это вполне нормально.
|
(Offline)
|
|
25.08.2009, 14:38
|
#44
|
ПроЭктировщик
Регистрация: 08.03.2009
Адрес: Saransk
Сообщений: 143
Написано 25 полезных сообщений (для 45 пользователей)
|
Ответ: Разработка игры "DooM story"
Сообщение от cherepets
Делал отдельными картинками, т.к. стандартными криво выходит - результат на моем телефоне, на чужом и на эмуле всегда разный выходит... Нормально только если в форме, но это не особо красиво.
|
юзай графические шрифты
__________________
|
(Offline)
|
|
25.08.2009, 14:52
|
#45
|
Бывалый
Регистрация: 18.08.2009
Сообщений: 745
Написано 146 полезных сообщений (для 215 пользователей)
|
Ответ: Разработка игры "DooM story"
Думаю разница будет невелика если я просто зажму картинки до максимума (2 цвета: белый + транспанент)
Собственно помощь показанная в демке - это и есть вообще вся помощь.
Последний раз редактировалось cherepets, 25.08.2009 в 14:59.
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 19:41.
|