PDA

Просмотр полной версии : Написание текста на экране с помощью SF API


FordeD
24.01.2016, 14:12
Добрый день товарищи, решил тут написать простенький текст на экране над радаром, вроде как работает но при заходе через 3-5 секунд крашит и вылетает. в чем может быть проблема?

КОД:

C++:






stFontInfo
*
pFont
;
bool
CALLBACK
Present
(
CONST RECT
*
pSourceRect
,
CONST RECT
*
pDestRect
,
HWND hDestWindowOverride
,
CONST RGNDATA
*
pDirtyRegion
)
{
pFont
=
SF
->
getRender
(
)
->
CreateNewFont
(
"BatmanForeverAlternate"
,
14
,
FCR_BORDER
)
;
if
(
SUCCEEDED
(
SF
->
getRender
(
)
->
BeginRender
(
)
)
)
// если девайс готов к рисованию
{
pFont
->
Print
(
"Aleksandr_Kusak"
,
D3DCOLOR_ARGB
(
229
,
224
,
101
,
0
)
,
800
,
100
,
false
)
;
SF
->
getRender
(
)
->
EndRender
(
)
;
// завершаем рисование
}
;
return
true
;
// возвращаем положительный результат
}
;




(Ставил шрифт Tahoma, идентичный результат)

И код в If(!init) :

C++:






SF
->
getRender
(
)
->
registerD3DCallback
(
eDirect3DDeviceMethods
::
D3DMETHOD_PRESENT
,
Present
)
;




Все смотрел по уроку от urS'а. Кто осмелится помочь с решением проблемы?

SR_team
24.01.2016, 14:14
pFont = SF->getRender()->CreateNewFont("BatmanForeverAlternate", 14, FCR_BORDER);


удали это из present'а и вставь перед строкой



SF->getRender()->registerD3DCallback(eDirect3DDeviceMethods::D3DMET HOD_PRESENT, Present);

FordeD
24.01.2016, 14:21
удали это из present'а и вставь перед строкой


Благодарю, все заработало. И как я не решил пошаманить с размещением этой строки :blink: