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

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

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

Xors3D Графический движок с поддержкой DirectX9

Ответ
 
Опции темы
Старый 28.01.2012, 01:04   #1
dsd
Мастер
 
Аватар для dsd
 
Регистрация: 13.06.2011
Сообщений: 1,103
Написано 481 полезных сообщений
(для 1,836 пользователей)
windows forms

Куда там можно впихнуть вот такую функцию:
int horse(HWND hwnd){

        char msgBuffer[129];
		xSetRenderWindow((Handle)hwnd);
        xGraphics3D(640, 480, 32, false, true);
        int camera = xCreateCamera();
        int light = xCreateLight();
        int cube = xCreateCube();
        xPositionEntity(cube, 0.0, 0.0, 10.0);
        while(!(xKeyHit(KEY_ESCAPE) || !not_close))
        {
                xTurnEntity(cube, 0.1, 0.1, 0.1);
                xRenderWorld();
                sprintf(msgBuffer, "Hello 3D World!");
                xText(10, 10, msgBuffer);
                sprintf(msgBuffer, "FPS: %i", xMouseX());
                xText(10, 30, msgBuffer);
                xFlip();
        }
		xDestroyRenderWindow();
        return 0;
}
чтобы оно при старте приложения и хорс автоматом запустило.
А то на кнопку или пункт меню как то некошерно. В конструкторе оно превращается в бесконечный конструктор. В Form1_Load тоже самое. Как?
(Offline)
 
Ответить с цитированием
Старый 28.01.2012, 18:55   #2
Dream
быдло
 
Регистрация: 05.08.2007
Сообщений: 1,435
Написано 614 полезных сообщений
(для 1,489 пользователей)
Ответ: windows forms

в другом потоке, или просто через таймер, вызывать функцию обновления как же ещё
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
dsd (28.01.2012)
Старый 28.01.2012, 19:58   #3
dsd
Мастер
 
Аватар для dsd
 
Регистрация: 13.06.2011
Сообщений: 1,103
Написано 481 полезных сообщений
(для 1,836 пользователей)
Ответ: windows forms

Окау.
(Offline)
 
Ответить с цитированием
Старый 28.01.2012, 19:59   #4
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: windows forms

У окна есть событие Load и Shown, первое вызывается при окончании инициализации окна. Второе при первой активации окна. Свой код инициализации ксорса, положи во второй Load событие. А в событии Shown, создай отдельный поток, в котором будет уже сам цикл с обновлениями.
Имена событий, могут быть немного другими, но суть та же (т.к. основываюсь на .Net WinForms).
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
dsd (29.01.2012)
Старый 06.02.2012, 09:30   #5
pozitiffcat
Мастер
 
Аватар для pozitiffcat
 
Регистрация: 09.05.2010
Адрес: Самара
Сообщений: 1,083
Написано 254 полезных сообщений
(для 533 пользователей)
Ответ: windows forms

По опыту скажу, удобней отрисовку в таймере реализовать с интервалом 5. Может оно и не правильно, и лучше через поток. Но я прошел и это. И решил что удобней через таймер, т.к. не надо пилить синхронизацию. Ну и интервал можно сделать автонастраивающимся взависимости от мощности железа, которое определяется времен последнего кадра (дельтой). как-то так...
(Offline)
 
Ответить с цитированием
Старый 07.02.2012, 03:10   #6
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: windows forms

Таймер - решение влоб. И никак не нормальное. Если у тебя проблемы с синхронизацией, то тут уж нечего говорить..
(Offline)
 
Ответить с цитированием
Старый 07.02.2012, 09:28   #7
pozitiffcat
Мастер
 
Аватар для pozitiffcat
 
Регистрация: 09.05.2010
Адрес: Самара
Сообщений: 1,083
Написано 254 полезных сообщений
(для 533 пользователей)
Ответ: windows forms

Сообщение от MoKa Посмотреть сообщение
Таймер - решение влоб. И никак не нормальное. Если у тебя проблемы с синхронизацией, то тут уж нечего говорить..
MoKa я и не говорю как правильно, я говорю как на мой взгляд проще реализовать. Это мое ИМХО.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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


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


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