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

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

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

Ответ
 
Опции темы
Старый 13.12.2009, 13:33   #1
Aceton
ПроЭктировщик
 
Аватар для Aceton
 
Регистрация: 22.03.2009
Сообщений: 140
Написано 15 полезных сообщений
(для 24 пользователей)
HGE вопрос

есть класс, в классе есть метод
void  CGameManager::defineResources()
{    
    
// config
    
hge->System_SetState(HGE_FRAMEFUNC, &CGameManager::FrameLogicCallBack);
....

так вот вылетает с ошибкой error C2664: 'void HGE::System_SetState(hgeBoolState,bool)' : cannot convert parameter 1 from 'hgeFuncState' to 'hgeBoolState'

в пример колбек это просто функция, у меня это метод класса.... может и туплю но вроди все правильно)
__________________
Все о создании и разработке игр и не только
(Offline)
 
Ответить с цитированием
Старый 13.12.2009, 13:57   #2
jimon
 
Сообщений: n/a
Ответ: HGE вопрос

Aceton
для вызова функции нужно знать только её указатель, для вызова метода нужно знать указатель и значение указателя this, потому метод это не функция, если совсем сильно поджимает - сделай статический метод и используй синглтон
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Aceton (13.12.2009)
Старый 13.12.2009, 14:02   #3
Aceton
ПроЭктировщик
 
Аватар для Aceton
 
Регистрация: 22.03.2009
Сообщений: 140
Написано 15 полезных сообщений
(для 24 пользователей)
да статик помог

хотя со статиком много мусора нада через this делать

чето hge->System_SetState(HGE_FRAMEFUNC, this->FrameLogicCallBack()); не работает
__________________
Все о создании и разработке игр и не только
(Offline)
 
Ответить с цитированием
Старый 13.12.2009, 14:41   #4
jimon
 
Сообщений: n/a
Ответ: HGE вопрос

Aceton
и не сработает
 
Ответить с цитированием
Старый 13.12.2009, 15:22   #5
Aceton
ПроЭктировщик
 
Аватар для Aceton
 
Регистрация: 22.03.2009
Сообщений: 140
Написано 15 полезных сообщений
(для 24 пользователей)
Ответ: HGE вопрос

так как всетаки передать ссылку на метод без статика?
__________________
Все о создании и разработке игр и не только
(Offline)
 
Ответить с цитированием
Старый 13.12.2009, 15:28   #6
jimon
 
Сообщений: n/a
Ответ: HGE вопрос

Aceton
я тебе уже обьяснил что никак, для того чтобы ссылку на метод вызвать на другой стороне тебе туда нужно еще отдельно this передать, метод от функции отличается только тем что у него есть скрытый аргумент this и получается что физически указатели на одинаковые методы разных объектов одного класса одинаковы, а отличаются они только тем какой this им передается, ну и какой по-твоему this передаст HGE если ты собственно этот this ему не передаешь, если вызвать как this = 0 то вылетит ошибка

так что забей, у тебя два пути : или статик или функция
 
Ответить с цитированием
Старый 13.12.2009, 15:32   #7
Aceton
ПроЭктировщик
 
Аватар для Aceton
 
Регистрация: 22.03.2009
Сообщений: 140
Написано 15 полезных сообщений
(для 24 пользователей)
Ответ: HGE вопрос

а про делегаты слышал? все возможно - щас сижу копаю...
__________________
Все о создании и разработке игр и не только
(Offline)
 
Ответить с цитированием
Старый 13.12.2009, 15:36   #8
jimon
 
Сообщений: n/a
Ответ: HGE вопрос

Aceton
ну и получишь тот же статик только через задний проход, используй статик + синглтон
 
Ответить с цитированием
Старый 13.12.2009, 15:39   #9
Aceton
ПроЭктировщик
 
Аватар для Aceton
 
Регистрация: 22.03.2009
Сообщений: 140
Написано 15 полезных сообщений
(для 24 пользователей)
Ответ: HGE вопрос

убедил! )
__________________
Все о создании и разработке игр и не только
(Offline)
 
Ответить с цитированием
Старый 08.09.2010, 16:55   #10
Morganolla
Бывалый
 
Аватар для Morganolla
 
Регистрация: 03.12.2008
Адрес: наша раша
Сообщений: 762
Написано 129 полезных сообщений
(для 245 пользователей)
Ответ: HGE вопрос

Столкнулся со странным багом:
в одном месте оператор hge->Gfx_RenderQuad(&q); (отрисовка четырехугольника)
при релиз-построении нормально рендерится , а при дебаг подвешивает программу. Причем если релиз запускать автономно ( вне студии) то тоже вешает. В чем дело??????????
В других местах такие операторы работают нормально.

чем отличается построение в релизе и дебаге?

единственно могу сказать, что в этом месте четырехугольник принадлежит динамически созданному объекту (через new), а в других ... статическим глобальным...
__________________
Reality Simulation Games
Core 2 Duo 2,8GHz, RAM 1Gb, ATI R5670 1Gb. WinXP 32
(Offline)
 
Ответить с цитированием
Старый 08.09.2010, 16:59   #11
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: HGE вопрос

Столкнулся со странным багом:
в одном месте оператор hge->Gfx_RenderQuad(&q); (отрисовка четырехугольника)
при релиз-построении нормально рендерится , а при дебаг подвешивает программу. Причем если релиз запускать автономно ( вне студии) то тоже вешает. В чем дело??????????
это не ошибка хге скорее всего. возможно ты не инициализируешь какие нибудь члены какого нибудь класса. а студия сама их зануляет, если запускать прямо из под нее. у меня была очень похожая эррора.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Morganolla (08.09.2010)
Старый 08.09.2010, 17:31   #12
Morganolla
Бывалый
 
Аватар для Morganolla
 
Регистрация: 03.12.2008
Адрес: наша раша
Сообщений: 762
Написано 129 полезных сообщений
(для 245 пользователей)
Ответ: HGE вопрос

HolyDel, гениально!!!!!
Забыл обнулить на нем текстуру q.tex=0; а там оставался какой-то мусор, который сводил ХГЕ с ума!
А у глобальных она сама обнулялась при старте!!!
__________________
Reality Simulation Games
Core 2 Duo 2,8GHz, RAM 1Gb, ATI R5670 1Gb. WinXP 32
(Offline)
 
Ответить с цитированием
Старый 05.11.2010, 21:37   #13
Morganolla
Бывалый
 
Аватар для Morganolla
 
Регистрация: 03.12.2008
Адрес: наша раша
Сообщений: 762
Написано 129 полезных сообщений
(для 245 пользователей)
Ответ: HGE вопрос

вопросик - как прогать на ХГЕ геймпад? Надо подключить какую-то библу?
__________________
Reality Simulation Games
Core 2 Duo 2,8GHz, RAM 1Gb, ATI R5670 1Gb. WinXP 32
(Offline)
 
Ответить с цитированием
Старый 06.11.2010, 15:02   #14
Mhyhr
Бывалый
 
Регистрация: 06.04.2009
Сообщений: 612
Написано 276 полезных сообщений
(для 858 пользователей)
Ответ: HGE вопрос

Да, стандартной поддержки геймпада там нет. Поищи у них на форуме, вроде в какой то модификации было запилено.
(Offline)
 
Ответить с цитированием
Старый 14.12.2010, 10:53   #15
Reizel
Задрот
 
Аватар для Reizel
 
Регистрация: 24.07.2009
Адрес: Ивановская область, г. Кинешма
Сообщений: 1,574
Написано 407 полезных сообщений
(для 863 пользователей)
Ответ: HGE вопрос

Фак. Скачал HGE, создал проект , положил все HGE-шные файлы в корень проекта, подключил либу из папки gcc (ибо Code::Blocks), Search Dir поставил как include.
Потом добавил index.cpp в проект, скопипастил туда код из стд примера (в папке tutorials), попытался запустить...
Fail... Очень много ошибок. Файл hge.h находит, но ругается на каждую строчку. Чо за херь? Ранее собирал проект так же, и все работало. May be it's virus?
Миниатюры
Нажмите на изображение для увеличения
Название: HGE.JPG
Просмотров: 689
Размер:	74.5 Кб
ID:	12113  

Последний раз редактировалось Reizel, 14.12.2010 в 11:13. Причина: add image
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос c++ и b3d LD Разработка LIB 5 19.02.2009 19:22
Вопрос Fant 3D-программирование 8 05.03.2007 15:26
Вопрос Akima Наш форум 5 31.12.2006 18:09


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


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