Навигация
Поддержать материально
Steam Greenlight

Логотипы
Медальки
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Темы форума
156 - Race IV
Сегодня, 08:51
 Doj
Разрешите представит…
Вчера, 06:51
 Kiriyama
The Great tribes - […
1.09.2018
 Mefistofel
TCanvas - как копиро…
31.08.2018
 Shirson
156 - ?
31.08.2018
 Kiriyama
Спрайты и арты
31.08.2018
 Kiriyama
Будущее IGDC
31.08.2018
 Kiriyama
Халявные игры (The H…
31.08.2018
 cherepets
Художник анимэ
31.08.2018
 Kiriyama
2д художник
31.08.2018
 Kiriyama
Сейчас на сайте
Гостей: 2
На сайте нет зарегистрированных пользователей

Пользователей: 1,683
новичок: HowardRarlyYN
Обсуждение «Помогите! деже не знаю где спросить»
Страница 1 из 8 1 2 3 4 > >>
spokoiniy
Avatar пользователя

Опубликовано 28.09.2011 21:16 (7 лет назад)    #
скачал уроки nehe, точнее их вариант на дельфи, и получил вот это в виде коментариев:
// Struktura hvмzdy
// Vzdбlenost od stшedu, Ъhel natoиenн
// Privбtnн GDI Device Context
// Zabezpeиenн proti dмlenн nulou

пробовал декодить штирлицом, безрезультатно(
Race IV:Не участвую.
ra1n
Avatar пользователя

Опубликовано 29.09.2011 05:15 (7 лет назад)    #
это польский или подобный или подобный язык
Race IV:Не участвую.
spokoiniy
Avatar пользователя

Опубликовано 29.09.2011 07:52 (7 лет назад)    #
вообще это английский только с битой кодировкой, там буквы разные, а кое где даже символы посередине слова
Race IV:Не участвую.
magician
Avatar пользователя

Опубликовано 29.09.2011 11:50 (7 лет назад)    #
Это чешский.

// Struktura hvězdy
// Vzdálenost od středu, Ъhel natočení
// Privátní GDI Device Context
// Zabezpečení proti dělení nulou

Не нагуглил только как заменить Ъ в слове Ъhel.

UPD: нашел Ъhel. Не сразу дошло, что там написано "угол" - úhel

редакция от magician, 29.09.2011 12:32

Race IV:Не участвую.
spokoiniy
Avatar пользователя

Опубликовано 29.09.2011 12:33 (7 лет назад)    #
проблема в том что все комментарии такие во всех уроках, есть способ перевести весь текст?

редакция от spokoiniy, 29.09.2011 12:34

Race IV:Не участвую.
magician
Avatar пользователя

Опубликовано 29.09.2011 13:11 (7 лет назад)    #
Способы конечно есть:
1.) Вручную во всех файлах автозаменой исправить символы;
2.) Написать скрипт, который сам поправит символы;
3.) Поискать уроки с правильными символами;
4.) Поискать софт для массовой замены символов.
Может кто-то предложит способы попроще :)
Из приведенного текста видно, что символы с "закарлючками" заменены русскими:
ě - м
á - б
ř - ш
ú - Ъ
č - и
í - н
Race IV:Не участвую.
Doj
Avatar пользователя

Опубликовано 29.09.2011 15:40 (7 лет назад)    #
5.) Открыть текстовым редактором, который поддерживает различные кодировки, и выбрать кодировку cp1250. В крайнем случае, если нет такого текстового редактора, то можно в браузере открыть на чтение.

редакция от Doj, 29.09.2011 15:40

Race IV:Проголосовал!
spokoiniy
Avatar пользователя

Опубликовано 29.09.2011 16:24 (7 лет назад)    #
Спасибо вам за помощь, обычный блокнот заменять умеет, пробовал, как оказалось зря. нашел переведённые уроки на pmg.org.ru хоть и на СИ зато с коментами на руском

З.Ы. извините если напряг
Race IV:Не участвую.
MysticCoder
Avatar пользователя

Опубликовано 05.09.2013 12:24 (5 лет назад)    #
Дабы не плодить темы, спрошу здесь...
Пишу простое опенгл приложение. По задумке, цепочка прямоугольников(стоят на земле как ящики) продвигается в левую сторону. При этом визуально все не очень хорошо. Возникает эффект лестницы на боковых краях прямоугольников. Дергается в общем, неприятно на глаз. Причем двойная буфферизация включена. Эффект наблюдается при перспективной проекции glFrustrum и при ортографической glOrtho. Что я делаю не так? Здесь код инициализации и отрисовки - http://pastebin.com/0RU8njMN

редакция от MysticCoder, 05.09.2013 12:25

Race IV:Не участвую.
DRON
Avatar пользователя

Опубликовано 05.09.2013 13:15 (5 лет назад)    #
1) ты используешь похоже целые числа вместо дробных
2) похоже ты привязываешься к фпс а не ко времени delta time
Race IV:Проголосовал!
MysticCoder
Avatar пользователя

Опубликовано 05.09.2013 15:09 (5 лет назад)    #
DRON написал:
1) ты используешь похоже целые числа вместо дробных
2) похоже ты привязываешься к фпс а не ко времени delta time


Сами прямоугольники неподвижные, движется камера относительно них, координаты у нее дробные, каждую итерацию прибавляется скорость*дельта-тайм. dt:single = 1/Updates per second;

про второе не понял... у меня 50 раз в секунду вызывается функция обновления, все остальное время - отрисовка.

Bloov написал:

Если я правильно понял, то это обычный алиасинг, тебе поможет антиалиасинг. Ты всё делал правильно скорее всего, просто это особенность отрисовки)

Антиалиасинг как то сложно.... Эффект лестницы конечно не шибко большой, но мелькание видно, думаю если текстуру наложить будет не так заметно, а может это у меня видюха глючит :D Хотя другие в других приложениях такого не замечал...

редакция от MysticCoder, 05.09.2013 15:13

Race IV:Не участвую.
DRON
Avatar пользователя

Опубликовано 05.09.2013 21:20 (5 лет назад)    #
Я к сожалению не имею возможности скомпилить твой проект чтобы точно сказать в чем дело. Видимо мои предположения были мимо.
Race IV:Проголосовал!
FedeX
Avatar пользователя

Опубликовано 06.09.2013 08:45 (5 лет назад)    #
Может VSYNC (вертикальная синхронизация) ? Попробуй если у тебя есть в настройках видеокарты отключить/включить его глобально и при этом запускать свое приложение.
Race IV:Не участвую.
MysticCoder
Avatar пользователя

Опубликовано 08.10.2013 09:55 (5 лет назад)    #
Возникла проблемка с кодировкой... Хочу отрисовывать шрифты... Готовлю текстуру с символами шрифтов... Соответственно объявил строковую константу с используемыми символами(английские, русские), и пытаюсь её вывести в канву битмапа. Проблема в том, что английские символы выводятся нормально, а вместо русских фигня какая то. До этого с юникодом и widestring не работал, поэтому не могу сам разобраться как правильно делать. Использую Lazarus, кодировка исходников в UTF-8, системная кодировка UTF-8.
Код:
var
MagicString:AnsiString = 'ЙЦУКЕН!!=.,":;[]\/-= ()*&?^%$#@QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnmЙЦУКЕНГШЩЗХЪФЫВАПРО
ЛДЖЭЯЧСМИТЬБЮЁйцукенгшщзхъфывапролджэячсмитьбю';
implementation

{$R *.lfm}

{ TForm1 }

procedure TForm1.FormCreate(Sender: TObject);
var
bmp : TBitmap;
i,j : integer;
begin
bmp := TBitmap.Create;
bmp.PixelFormat := pf32bit;
bmp.Width := 512;
bmp.Height:= 512;
bmp.Canvas.Font.Name:='Ubuntu Mono';

for i:=0 to 16-1 do
for j:=0 to 16-1 do
if i*16+j<=Length(MagicString) then
if I*16+j>0 then
begin
bmp.Canvas.TextOut(i*32,j*32,MagicString[i*16+j]);
end;
bmp.SaveToFile('font.bmp');
bmp.Free;
Image1.Picture.LoadFromFile('font.bmp');
end;

Понятно, что в UTF-8 используются 2 символа и более, при выводе 2х символов подряд русские буквы нормально рисуются, но это как то неудобно. Пробовал использовать WideString и WideChar, но ничего хорошего из этого не выходит. Подскажите, как правильно работать с юникодом?=)
Race IV:Не участвую.
Darthman
Древний организм
Avatar пользователя

Опубликовано 08.10.2013 10:51 (5 лет назад)    #
Для начала разобраться как работает bmp.Canvas.TextOut.
Узнать какие строки твоя система использует как нативные (не знаю как в лазарусе, в делфях для этого достаточно не типизировать в большинстве случаев явно. Писать просто String, а не Widestring или Ansistring. Особенно если ты не знаешь зачем).
Кодировка исходников роли не играет. Если в ней есть спецсимволы, она уже по любому будет в юникоде.
Если это windows, то есть методы вроде TextOutW, TextOutA, которые работают с wide и ansi соотвественно. В противном случае нужен просто string.
Race IV:Не участвую.
FedeX
Avatar пользователя

Опубликовано 08.10.2013 11:53 (5 лет назад)    #
Давно не писал в лазарусе, но насколько помню там string (и вроде даже AnsiString) по умолчанию использует кодировку utf8. В ней символы могут задаваться одно, двух и более байтовыми последовательностями. Тоесть обращаться к строке как к однородному массиву символов некорректно. WideString насколько помню не очень хорошо поддерживается библиотекой LCL так что лучше все-таки использовать string(utf8). Функции для получения размера символов в таких строках и прочих данных лежат в модуле lazutf8. Вот тут глянь как ими пользоваться: http://wiki.freepascal.org/LCL_Unicode_Support/ru
Race IV:Не участвую.
MysticCoder
Avatar пользователя

Опубликовано 08.10.2013 12:01 (5 лет назад)    #
Разобрался.... Объявил константу как AnsiString, потом строке WideString присвоил Utf8ToAnsi(MagicString), после этого нормально по индексам этого WideString'а можно обращаться и рисует их правильно. Непонятно только почему если объявить строку как WideString и присвоить ей MagicString := Utf8ToAnsi(MagicString) отображает левые символы.
Race IV:Не участвую.
Darthman
Древний организм
Avatar пользователя

Опубликовано 08.10.2013 12:20 (5 лет назад)    #
Ну вот опять приехали. AnsiString это массив AnsiChar. AnsiChar это 1 байт. Никакого юникода там нет. Соотвестенно utf8 <> AnsiString

CoderInTank:
ты очевидно имел ввиду AnsiToUtf8?
Иначе ты пишешь откровенный бред. Берем НЕЮНИКОД строку, трансформируем ее из ЮНИКОДА в НЕюникод и присваиваем в переменную типа ЮНИКОД. Тебя ничего не смущает в твоем описании? :)

Объяви переменную просто String и выкинь ты уже из кода эти Ansi и Wide.
Race IV:Не участвую.
MysticCoder
Avatar пользователя

Опубликовано 08.10.2013 13:21 (5 лет назад)    #
Нет, я имел ввиду именно Utf8ToAnsi. Я понимаю что AnsiString это не значит юникод, AnsiString это всего лишь способ хранения, в данном случае в виде массива байтов. Юникод же можно хранить и в AnsiString.
У меня в сорцах кодировка Utf-8, поэтому получается берем ЮНИКОД строку и трасформируем её из ЮНИКОДа в ANSI(которая определяется как текущая системная кодировка, в моем случае UTF-8), и присваиваем её переменной которая у которой по 2 байта на символ. Т.е. если до конвертации символы шли подряд все, то после конвертации они выровнялись по 2 байта(насколько я понял).
Utf8ToAnsi converts an utf8-encode unicode string to an ansistring. It converts the string to a widestring and then converts the widestring to an ansistring.

Вот.... вроде все правильно. По крайней мере работает. Или я опять что то упустил?
Race IV:Не участвую.
Darthman
Древний организм
Avatar пользователя

Опубликовано 08.10.2013 13:53 (5 лет назад)    #
Как все сложно у вас в этом фрипаскале... жуть :)
Race IV:Не участвую.
Страница 1 из 8 1 2 3 4 > >>
Перейти на форум:
Конкурсы
Открытые конкурсы:
Race IV
Подведение результатов...

Старт: 1 сентября 2018г.
Финиш: 18 сентября 2018г.

Участники: 7
Недавние конкурсы:
 155 - Text Quest
 154 - Point & Click
 153 - Collab Contest
 152 - RTS II
 151 - Garbage game TWO
 Все конкурсы
Случайная игра
Мини-чат
Вам необходимо залогиниться.

Архив чата

13,243,456 уникальных посетителей

Создано на базе русской версии PHP-Fusion copyright © 2003-2006 by Nick Jones.
Released as free software under the terms of the GNU/GPL license.