 |
Меню не отображаеться - Общение разработчиков - Программирование для Point Blank, общение и обсуждение разработок |
21.04.2012, 09:58
|
#1
|
|
|
|
Разведчик
|
 Регистрация: 23.04.2011
 Сообщений: 0
 Популярность: 10
 Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Меню не отображаеться
|
|
|
21.04.2012, 10:49
|
#2
|
|
|
|
Фельдмаршал
|
 Регистрация: 22.02.2011
 Сообщений: 949
 Популярность: 34698
 Сказал(а) спасибо: 939
Поблагодарили 2,534 раз(а) в 911 сообщениях
|
Re: Меню не отображаеться
Значит открываеш d3d9dev.cpp
Находиш HRESULT APIENTRY hkIDirect3DDevice9::EndScene()
И видим такой код
Код:
HRESULT APIENTRY hkIDirect3DDevice9::EndScene()
{
if(Mvisible)
{
D3DVIEWPORT9 ScreenViewport;
m_pD3Ddev->GetViewport(&ScreenViewport);
m_pD3Ddev->SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE);
MenuBox->DrawCanvas(20.0f, 20.0f, (float)MenuWidth, (float)(Mmax*Mysize+(Mysize*3)), 10,/*Фон*/D3DCOLOR_RGBA(0, 0, 0, (255/4)*3), /*Рамка*/D3DCOLOR_RGBA(255, 0, 255, (255/4)*3));
}
if (Mmax == 0) RebuildMenu();
MenuShow(20,20,m_pFont);
MenuNav();
return m_pD3Ddev->EndScene();
}
Переписуем его
Код:
HRESULT APIENTRY hkIDirect3DDevice9::EndScene()
{
if(Mvisible)
{
D3DVIEWPORT9 ScreenViewport;
m_pD3Ddev->GetViewport(&ScreenViewport);
m_pD3Ddev->SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE);
MenuShow(20,20,m_pFont);
MenuBox->DrawCanvas(20.0f, 20.0f, (float)MenuWidth, (float)(Mmax*Mysize+(Mysize*3)), 10,/*Фон*/D3DCOLOR_RGBA(0, 0, 0, (255/4)*3), /*Рамка*/D3DCOLOR_RGBA(255, 0, 255, (255/4)*3));
//MenuShow(20,20,m_pFont);
}
if (Mmax == 0) RebuildMenu();
MenuNav();
return m_pD3Ddev->EndScene();
}
Если не помогло, то делаем так
Код:
//MenuShow(20,20,m_pFont);
MenuBox->DrawCanvas(20.0f, 20.0f, (float)MenuWidth, (float)(Mmax*Mysize+(Mysize*3)), 10,/*Фон*/D3DCOLOR_RGBA(0, 0, 0, (255/4)*3), /*Рамка*/D3DCOLOR_RGBA(255, 0, 255, (255/4)*3));
MenuShow(20,20,m_pFont);
т.е. то закоментировали, а то разкоментировали.
Прорисовка меню делается так: рисуем меню, а потом фон или меню, а потом фон.
Кстати, если всётаки не получится, то закоментируй эту стручку
Код:
MenuBox->DrawCanvas(20.0f, 20.0f, (float)MenuWidth, (float)(Mmax*Mysize+(Mysize*3)), 10,/*Фон*/D3DCOLOR_RGBA(0, 0, 0, (255/4)*3), /*Рамка*/D3DCOLOR_RGBA(255, 0, 255, (255/4)*3));
тем самым ты не будеш прорисовывать фон.
________________
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
|
|
|
21.04.2012, 11:20
|
#3
|
|
|
|
Разведчик
|
 Регистрация: 23.04.2011
 Сообщений: 0
 Популярность: 10
 Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: Меню не отображаеться
 |
Цитата: |
 |
|
|
 |
Сообщение от Dimedrol1536(2) |
 |
|
|
|
|
|
|
Значит открываеш d3d9dev.cpp
Находиш HRESULT APIENTRY hkIDirect3DDevice9::EndScene()
И видим такой код
Код:
HRESULT APIENTRY hkIDirect3DDevice9::EndScene()
{
if(Mvisible)
{
D3DVIEWPORT9 ScreenViewport;
m_pD3Ddev->GetViewport(&ScreenViewport);
m_pD3Ddev->SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE);
MenuBox->DrawCanvas(20.0f, 20.0f, (float)MenuWidth, (float)(Mmax*Mysize+(Mysize*3)), 10,/*Фон*/D3DCOLOR_RGBA(0, 0, 0, (255/4)*3), /*Рамка*/D3DCOLOR_RGBA(255, 0, 255, (255/4)*3));
}
if (Mmax == 0) RebuildMenu();
MenuShow(20,20,m_pFont);
MenuNav();
return m_pD3Ddev->EndScene();
}
Переписуем его
Код:
HRESULT APIENTRY hkIDirect3DDevice9::EndScene()
{
if(Mvisible)
{
D3DVIEWPORT9 ScreenViewport;
m_pD3Ddev->GetViewport(&ScreenViewport);
m_pD3Ddev->SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE);
MenuShow(20,20,m_pFont);
MenuBox->DrawCanvas(20.0f, 20.0f, (float)MenuWidth, (float)(Mmax*Mysize+(Mysize*3)), 10,/*Фон*/D3DCOLOR_RGBA(0, 0, 0, (255/4)*3), /*Рамка*/D3DCOLOR_RGBA(255, 0, 255, (255/4)*3));
//MenuShow(20,20,m_pFont);
}
if (Mmax == 0) RebuildMenu();
MenuNav();
return m_pD3Ddev->EndScene();
}
Если не помогло, то делаем так
Код:
//MenuShow(20,20,m_pFont);
MenuBox->DrawCanvas(20.0f, 20.0f, (float)MenuWidth, (float)(Mmax*Mysize+(Mysize*3)), 10,/*Фон*/D3DCOLOR_RGBA(0, 0, 0, (255/4)*3), /*Рамка*/D3DCOLOR_RGBA(255, 0, 255, (255/4)*3));
MenuShow(20,20,m_pFont);
т.е. то закоментировали, а то разкоментировали.
Прорисовка меню делается так: рисуем меню, а потом фон или меню, а потом фон.
Кстати, если всётаки не получится, то закоментируй эту стручку
Код:
MenuBox->DrawCanvas(20.0f, 20.0f, (float)MenuWidth, (float)(Mmax*Mysize+(Mysize*3)), 10,/*Фон*/D3DCOLOR_RGBA(0, 0, 0, (255/4)*3), /*Рамка*/D3DCOLOR_RGBA(255, 0, 255, (255/4)*3));
тем самым ты не будеш прорисовывать фон.
|
|
 |
|
 |
|
Большое спасибо за столь развёрнутый ответ,но ничего из вышеперечисленного не помогло
|
|
|
21.04.2012, 12:12
|
#4
|
|
|
|
Фельдмаршал
|
 Регистрация: 22.02.2011
 Сообщений: 949
 Популярность: 34698
 Сказал(а) спасибо: 939
Поблагодарили 2,534 раз(а) в 911 сообщениях
|
Re: Меню не отображаеться
Я посмотрю как решить можно эту проблемку.
________________
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
|
|
|
21.04.2012, 14:21
|
#5
|
|
|
|
Пехотинец
|
 Регистрация: 12.07.2011
 Сообщений: 58
 Популярность: 683
 Сказал(а) спасибо: 18
Поблагодарили 181 раз(а) в 39 сообщениях
|
Re: Меню не отображаеться
Код:
HRESULT APIENTRY hkIDirect3DDevice9::EndScene()
{
if (Mmax == 0) RebuildMenu();
MenuShow(20,20,m_pFont);
MenuNav();
if(Mvisible)
{
D3DVIEWPORT9 ScreenViewport;
m_pD3Ddev->GetViewport(&ScreenViewport);
m_pD3Ddev->SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE);
MenuBox->DrawCanvas(20.0f, 20.0f, (float)MenuWidth, (float)(Mmax*Mysize+(Mysize*3)), 10,/*Фон*/D3DCOLOR_RGBA(0, 0, 0, (255/4)*3), /*Рамка*/D3DCOLOR_RGBA(255, 0, 255, (255/4)*3));
}
return m_pD3Ddev->EndScene();
}
Тут проблема в наложение текста, у тебя в коде идет сперва загрузка дравбоксов, а потом текста, т.е шрифт грузится за боксами... как я понимаю.
Попробуй может поможет, если нет, то меняй структуру боксов.
|
|
|
21.04.2012, 15:10
|
#6
|
|
|
|
Разведчик
|
 Регистрация: 23.04.2011
 Сообщений: 0
 Популярность: 10
 Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: Меню не отображаеться
 |
Цитата: |
 |
|
|
|
|
|
|
|
|
Код:
HRESULT APIENTRY hkIDirect3DDevice9::EndScene()
{
if (Mmax == 0) RebuildMenu();
MenuShow(20,20,m_pFont);
MenuNav();
if(Mvisible)
{
D3DVIEWPORT9 ScreenViewport;
m_pD3Ddev->GetViewport(&ScreenViewport);
m_pD3Ddev->SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE);
MenuBox->DrawCanvas(20.0f, 20.0f, (float)MenuWidth, (float)(Mmax*Mysize+(Mysize*3)), 10,/*Фон*/D3DCOLOR_RGBA(0, 0, 0, (255/4)*3), /*Рамка*/D3DCOLOR_RGBA(255, 0, 255, (255/4)*3));
}
return m_pD3Ddev->EndScene();
}
Тут проблема в наложение текста, у тебя в коде идет сперва загрузка дравбоксов, а потом текста, т.е шрифт грузится за боксами... как я понимаю.
Попробуй может поможет, если нет, то меняй структуру боксов.
|
|
 |
|
 |
|
не помогло(
|
|
|
21.04.2012, 18:57
|
#7
|
|
|
|
Пехотинец
|
 Регистрация: 26.05.2010
 Сообщений: 89
 Популярность: 3087
 Сказал(а) спасибо: 3
Поблагодарили 666 раз(а) в 268 сообщениях
|
Re: Меню не отображаеться
 |
Цитата: |
 |
|
|
|
|
|
|
|
|
Код:
HRESULT APIENTRY hkIDirect3DDevice9::EndScene()
{
if (Mmax == 0) RebuildMenu();
MenuShow(20,20,m_pFont);
MenuNav();
if(Mvisible)
{
D3DVIEWPORT9 ScreenViewport;
m_pD3Ddev->GetViewport(&ScreenViewport);
m_pD3Ddev->SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE);
MenuBox->DrawCanvas(20.0f, 20.0f, (float)MenuWidth, (float)(Mmax*Mysize+(Mysize*3)), 10,/*Фон*/D3DCOLOR_RGBA(0, 0, 0, (255/4)*3), /*Рамка*/D3DCOLOR_RGBA(255, 0, 255, (255/4)*3));
}
return m_pD3Ddev->EndScene();
}
Тут проблема в наложение текста, у тебя в коде идет сперва загрузка дравбоксов, а потом текста, т.е шрифт грузится за боксами... как я понимаю.
Попробуй может поможет, если нет, то меняй структуру боксов.
|
|
 |
|
 |
|
в пб все через опу ... заполнение и выборка Z буфера идет наоборот
поэтому если берете код из другой игры то последовательность прорисовки нужно менять а то одно будет заслонять другое
|
|
|
21.04.2012, 20:29
|
#8
|
|
|
|
Фельдмаршал
|
 Регистрация: 22.02.2011
 Сообщений: 949
 Популярность: 34698
 Сказал(а) спасибо: 939
Поблагодарили 2,534 раз(а) в 911 сообщениях
|
Re: Меню не отображаеться
Там само меню не прорисовуется(
Боксы не причом.
________________
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
|
|
|
21.04.2012, 21:34
|
#9
|
|
|
|
Пехотинец
|
 Регистрация: 12.07.2011
 Сообщений: 58
 Популярность: 683
 Сказал(а) спасибо: 18
Поблагодарили 181 раз(а) в 39 сообщениях
|
Re: Меню не отображаеться
|
|
|
22.04.2012, 03:31
|
#10
|
|
|
|
Фельдмаршал
|
 Регистрация: 22.02.2011
 Сообщений: 949
 Популярность: 34698
 Сказал(а) спасибо: 939
Поблагодарили 2,534 раз(а) в 911 сообщениях
|
Re: Меню не отображаеться
CaspeR94, потом уже понял, что трабла со шрифтами.
В самоинжекте переписывать их гемор полный.
Есть исход более-менее рабочий, крашит при заходе в бой.
Вот с этого и взял эту инфу.
________________
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Похожие темы
|
Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
[Помогите!] Доп Меню
|
♦(a-nGe-l)♦ |
Общение разработчиков |
12 |
29.01.2012 12:01 |
меню в D3D
|
kuk-zevs |
Общение и обсуждение, архив Point Blank |
18 |
21.01.2012 21:17 |
Cвоё меню
|
iva72rus |
Античиты и дополнения |
0 |
25.05.2011 11:30 |
[Помогите!] Меню кс
|
1001234 |
Общение и обсуждение Counter-Strike |
3 |
13.03.2011 22:13 |
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 12:16.
|
 |