| surface - указатель поверхности |
|
Возвращает кисть с такими же свойствами, как у примененной к указанной поверхности сетки объекта. Если эта команда не возвращает правильную кисть, попробуйте использовать GetEntityBrush. Помните, GetSurfaceBrush фактически создает новую кисть, поэтому не забывайте удалять ее из памяти после использования с помощью команды FreeBrush. Как только Вы получите указатель кисти поверхности, Вы можете использовать GetBrushTexture и TextureName, чтобы узнать, какая текстура(ы) применена к кисти. Смотрите также : GetEntityBrush, FreeBrush, GetSurface, GetBrushTexture, TextureName. |
|
; Пример GetSurfaceBrush ; ----------------------- Graphics3D 640,480 SetBuffer BackBuffer() camera=CreateCamera() light=CreateLight() RotateEntity light,90,0,0 ; Загружаем объект crate=LoadMesh("media/wood-crate/wcrate1.3ds") PositionEntity crate,0,0,100 ; Берем поверхность surf=GetSurface(crate,1) ; Берем кисть этой поверхности crate_brush=GetSurfaceBrush(surf) ; Берем текстуру кисти crate_tex=GetBrushTexture(crate_brush,0) While Not KeyDown( 1 ) RenderWorld ; Выводим полное имя текстуры Text 0,0,"Texture name, as returned by TextureName$():" Text 0,20,TextureName$(crate_tex) ; Выводим имя текстуры без пути Text 0,40,"Texture name with path stripped:" Text 0,60,StripPath$(TextureName$(crate_tex)) Flip Wend End Function StripPath$(file$) If Len(file$)>0 For i=Len(file$) To 1 Step -1 mi$=Mid$(file$,i,1) If mi$="\" Or mi$="/" Then Return name$ Else name$=mi$+name$ Next EndIf Return name$ End Function |