У меня работает отлично а вот на некоторых других компьютерах чтоб
попасть на кнопку мышкой, надо нажимать ниже или выше нее.
Кнопки смотрятся нормально.
Как быть?
ламо или они,или ты
1.они меняли разрешение окна.в свою очередь,ты не меняеш расположение кнопок относительно нового разрешения,поэтому для системы кнопки в одном месте,а в видеовыходе - в другом.я на 90% уверен что у этих ЛаМ000 стоит очень низкое разрешение(до 1024Х768)поэтому в фуллскрин режиме приложение вынуждено изменить размеры видеовыхода.
как решить -
пункт 1 - запрети менять размер окна.создай окно со стилем - WS_RESIZEBORDER (или как-то так,я точно не помню)
пункт 2 - вместо окон обычных делай диалоговые окна, и определяй их в файлах ресурсов.на WASM.RU есть пример,где описано,как создать кнопки со своим собственным стилем.сделай свою GUI библиотеку,которая вызывала бы саму игру(для передачи параметров от GUI приложения до игрового просто сделай файл).но это как вариант(у меня была такаяже проблема когда я добавлял кнопки в окно путём вызовов функции CreateWindow .после изменения размеров окна была точно такаяже баламутина)
пункт 3 - ещё раз перечитай пункты 1 и 2=)
p.s. такую же оплошность допустили Electronic Arts со своим Warhammer Online=)была абсолютно такая -же хрень как у тебя,и только тогда,когда я менял размеры окна перемещая одну из границ окна
может WHO тоже сделан на иррлихте?)))))
Прям книгу ужасов написал....
Ты сделал много выводов только из своих предположений.
Окно фиксированного размера. Фулл скрин отключен.
Но спасибо за попытку.
попробуй врубить фуллскрин
и вот что - если разрешение меньше,Чем высота окна,то окно меняет размер
легко сказать попробуй врубить
у меня та глюков нет.
Попросил прислать мне скрин на машине с глюком.
сравнил со своим скрином в фотошопе дал прозрачность чтоб картинки совпадали
и обнаружил что на машине с глюком окно уже по высоте
обрезается верх и низ почти на 30 пикселей.
попробуй дать ему демку с окном размером чуть поменьше
p.s. у меня всё норм
если я искусственно уменьшу то у него тоже уменьшится(из за глюка).
Если увеличиваю то у него все равно уменьшается..
Это бег на месте.
блин,тогда не знаю
делай через диалоговые окна какнибудь...
ябы сделал так будь у меня такая проблема..
ах да.скачай irrlicht sdk 1.6 там есть неглючащее GUI приложения,посмотри что да как там
>ах да.скачай irrlicht sdk 1.6 там есть неглючащее GUI приложения,посмотри что да как там
тут проблема в размере окна.
усекается по высоте.
а создаю окно как обычно
>IRLICHT 1.6
irr::SIrrlichtCreationParameters params;
params.DriverType=driverType;
params.WindowSize=core::dimension2d<u32>(1024, 768);
params.Stencilbuffer = shadows;
device =createDeviceEx(params);
блин,уменьши высоту едрёна вош!
Max1983
Было такое, когда налаживал в windowed mode корректное восприятие изменения размеров окна. Решилось некрасивым, но рабочим методом - вызовом метода onResize после всей графической инициализации устройства
irr::video::IVideoDriver::OnResize ( const core::dimension2d< s32 > & size )
Попробуй.
>yoda
жаль... не вылечилось
судя по скрину, у того товарища стоит рабочее разрешение на десктопе 1024х768. если так, то как уже советовалось раньше - уменьши размер создаваемого окна или увеличь разрешение на мониторе товарища. просто винда автоматом сжимает созданное окно чтоб поместилась еще панель задач(можно еще галочку убрать с "закрепить панель задач"), а иррлихт не в курсе что окно принудительно изменилось в размерах - вот и глюки.
гл
Nup
> . просто винда автоматом сжимает созданное окно чтоб поместилась еще панель
> задач(можно еще галочку убрать с "закрепить панель задач")
Это да, глюки явно оттуда.
Max1983
Давай попробуем так. Сделай отдельную кнопку, чтобы тот пользователь с глючным разрешением ее смог нажать. По ее активации воспроизведи данный код:
RECT rc;
GetClientRect(device->getVideoDriver()->getExposedVideoData().OpenGLWin32.HWnd,&rc);
core::CMatrix4<f32> m;
// тут заполни всё нужными цифрами, где fov - угол зрения, minview/maxview - минимальная и максимальная дистанции обзора
m.buildProjectionMatrixPerspectiveFovLH(core::degToRad(fov),double(rc.right)/double(rc.bottom),minview,maxview);
sceneManager->getActiveCamera()->setProjectionMatrix(m,false);
videoDriver->OnResize(core::dimension2d<s32>(rc.right,rc.bottom));
Напомню, что сейчас меня интересует именно эффект некорректного определения координат мыши.
>Nup
Интересно предположение..
у "товарища" моник 17" с не обычным разрешением 1280*768, когда я его просил сделать 1024*768 глюк был на месте
хотя это и накладывает тень на твою теорию, с разрешением 640*480 глюков нет.
Тема в архиве.