Сообщение от .Squid
Мини-пример с падением после вызова xDeleteWorld не помешает.
|
// crash.cpp: определяет точку входа для консольного приложения.
//
#include "stdafx.h"
#include "xors3d.h"
#pragma comment(lib,"xors3d.lib")
int _tmain(int argc, _TCHAR* argv[])
{
xGraphics3D(800,600,0,0,0);
int w1 = xCreateWorld();
xSetActiveWorld(w1);
xCreateCamera();
xPositionEntity(xCreateCube(),0,0,10);
int w2 = xCreateWorld();
xSetActiveWorld(w2);
xCreateCamera();
xPositionEntity(xCreateSphere(),0,0,10);
while(!xKeyDown(KEY_ESCAPE))
{
xCls();
if(xKeyHit(KEY_1))
{
xSetActiveWorld(w1);
}
if(xKeyHit(KEY_2))
{
xSetActiveWorld(w2);
}
if(xKeyHit(KEY_3))
{
xDeleteWorld(w1);
}
if(xKeyHit(KEY_4))
{
xDeleteWorld(w2);
}
if(xKeyHit(KEY_5))
{
xClearWorld();
}
xRenderWorld();
xFlip();
}
return 0;
}
при активном первом мире, если нажать 4 - удалить второй мир, то падает! Хотя xClearWorld(); почистило только 1 ворлд, что есть правильно.. но все равно делет падает