Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > C++

Ответ
 
Опции темы
Старый 02.10.2008, 16:10   #1
mr.DIMAS
Дэвелопер
 
Аватар для mr.DIMAS
 
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений
(для 1,540 пользователей)
Печаль Проблема со шрифтом в DX9

Пишу свой 3Д двиг на С++ c юзаньем DX9 для Blitz3D. Все шло нормально пока в один прекрасный день после создания функции загрузки шрифта, и рисования текста ( их код ниже ) все стало лагать(пишет Memory Access Violation ( самое подробное описание проблемы )). Деклс библы проверил все правильно ( вроде бы )( его код тоже покажу ).
Собсно функция создания шрифта и рисования такие

#pragma comment(lib,"d3d9.lib")
#pragma comment(lib,"d3dx9.lib")
#include <d3d9.h>
#include <d3dx9.h>
#include <math.h>
#include <string.h>
#include <stdlib.h>
#include <windows.h>
#include <mmsystem.h>
#include <d3dx9core.h>
#define BBDECL extern "C" _declspec(dllexport)
#define BBCALL _stdcall


struct DX9Font
{
LPD3DXFONT fnt;
RECT r;
};


DX9Font DefFont[100];

int NOF = 0;


BBDECL int BBCALL DX9LoadFont(char font[])
{

int ret=0;
if(DefFont[NOF].fnt!=0)
{
DefFont[NOF].r.left=0;
DefFont[NOF].r.top=0;
DefFont[NOF].r.right=1280;
DefFont[NOF].r.bottom=1024;
D3DXCreateFontA(pd3dd,20,10,FW_NORMAL,0,true,100,N ULL,NULL,NULL,(LPCTSTR)font,&DefFont[NOF].fnt);
ret=NOF;
NOF+=1;
};
return ret;
};

BBDECL void BBCALL DX9Text(int x,int y,char text[])
{
DefFont[NOF-1].r.left = x;
DefFont[NOF-1].r.top = y;
DefFont[NOF-1].fnt->DrawTextA(NULL,text,-1,&DefFont[NOF-1].r,DT_WORDBREAK,D3DCOLOR_XRGB(100,100,100));
};



вот деклс библы:

DX9LoadFont%(font$):_DX9LoadFont@4
DX9Text(x,y,text$):_DX9Text@12

в блице пишу вот это

fnt=DX9LoadFont("Courier")
DX9Text 10,10,fnt


плиз помогите, а то застопорился на такой х**не
__________________

(Offline)
 
Ответить с цитированием
Старый 02.10.2008, 16:23   #2
mr.DIMAS
Дэвелопер
 
Аватар для mr.DIMAS
 
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений
(для 1,540 пользователей)
Re: Проблема со шрифтом в DX9

Ладно для большей наглядности вот полный набор исходняков движка
Вложения
Тип файла: zip Engine.zip (9.5 Кб, 466 просмотров)
__________________

(Offline)
 
Ответить с цитированием
Старый 03.10.2008, 14:11   #3
IGR
Blitz's Shame !!
 
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений
(для 2,013 пользователей)
Ответ: Проблема со шрифтом в DX9

у тебя поле структуры fnt и имя шрифта в Блиц3Д тож fnt !! мож они как-то несопоставими !! попробуй в Блиц3Д другое название шрифта !!

PS: ничего утверждать немогу т.к. не могу проверить, несмотрия на наличие исходников !!
(Offline)
 
Ответить с цитированием
Старый 03.10.2008, 21:20   #4
mr.DIMAS
Дэвелопер
 
Аватар для mr.DIMAS
 
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений
(для 1,540 пользователей)
Re: Проблема со шрифтом в DX9

спасибо, проверю
__________________

(Offline)
 
Ответить с цитированием
Старый 07.10.2008, 14:17   #5
IGR
Blitz's Shame !!
 
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений
(для 2,013 пользователей)
Ответ: Проблема со шрифтом в DX9

mr.DIMAS, ну как, оно ??
(Offline)
 
Ответить с цитированием
Старый 08.10.2008, 17:10   #6
mr.DIMAS
Дэвелопер
 
Аватар для mr.DIMAS
 
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений
(для 1,540 пользователей)
Re: Проблема со шрифтом в DX9

хер*во! не работает! бьюсь бьюсь не как не добьюсь
__________________

(Offline)
 
Ответить с цитированием
Старый 11.10.2008, 16:48   #7
Genius
Знающий
 
Аватар для Genius
 
Регистрация: 02.11.2007
Сообщений: 255
Написано 27 полезных сообщений
(для 43 пользователей)
Ответ: Проблема со шрифтом в DX9

Сообщение от IGR Посмотреть сообщение
у тебя поле структуры fnt и имя шрифта в Блиц3Д тож fnt !! мож они как-то несопоставими !! попробуй в Блиц3Д другое название шрифта !!

PS: ничего утверждать немогу т.к. не могу проверить, несмотрия на наличие исходников !!
Бред! Он возвращает не имя же,а индекс шрифта...

А теперь не потеме маленько:
mr.DIMAS ,не юзаю структуры для обьектов тима mesh и т.д ,юзай классы,да RenderWorld слишком стрёмный,сделай SceneNode"ы ну или как это в блице завётся Entity"ии,
И ещё - сделайн ормальный класс шрифтов а не создавай стек с шрифтами и возвращая их индекс.

Вчём прикол?:
fnt=DX9LoadFont("Courier")
DX9Text 10,10,fnt
нафига заместо текста ты передаеш индекс шрифта?

Тогда уж так:
fnt=DX9LoadFont("Courier")
DX9Text 10,10,"TEXT , TEXT , TEXT"

Последний раз редактировалось Genius, 11.10.2008 в 20:15.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проблема с С++ HAMANN C++ 10 24.12.2009 09:31
Проблема Mark Castle Основной форум 2 12.11.2009 18:19
Проблемы с большим шрифтом. Winner Основной форум 23 06.10.2009 04:12
Проблема в MP Nautilus MidletPascal 4 26.10.2008 05:30
Проблемы с шрифтом Тарас Шевченко 2D-программирование 9 23.04.2007 17:24


Часовой пояс GMT +4, время: 18:19.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com