forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Blitz3D (http://forum.boolean.name/forumdisplay.php?f=45)
-   -   Проблемы LoadAnimMesh (http://forum.boolean.name/showthread.php?t=8076)

HolyDel 30.03.2009 15:07

Ответ: Проблемы LoadAnimMesh
 
Цитата:

Странно, в хелпе нет по этому поводу
в истории изменения версий есть. а насчет справки - там много чего нету.

Цитата:

HolyDel, конечно проверел !! конечно - mesh !!
я тебе не верю :) код покажи.

ABTOMAT 30.03.2009 15:10

Ответ: Проблемы LoadAnimMesh
 
Вложений: 1
Хм, меня заинтересовала эта хрень :-)
Вот в аттаче работающий пример.
Поначалу сбило с толку то, что дурень Марк сделал возвращаемый параметр ф-ии EntityClass строчкой, вместо чеовеческих Интов. FFFFFFUUUUU

Tadeus 31.03.2009 00:51

Ответ: Проблемы LoadAnimMesh
 
В хелпе версии 1.88 это всё есть

impersonalis 31.03.2009 01:26

Ответ: Проблемы LoadAnimMesh
 
EntityClass$( entity )
Parameters
Цитата:

entity - a valid entity handle
Description
Цитата:

Returns a string containing the class of the specified entity.

Possible return values are:

Pivot
Light
Camera
Mirror
Listener
Sprite
Terrain
Plane
Mesh
MD2
BSP

Note that the command will fail if a valid entity handle is not supplied, and will not just return an empty string.
Example
Цитата:

; EntityClass Example
; -------------------

Graphics3D 640,480,16
SetBuffer BackBuffer()

SeedRnd MilliSecs()

; Select a random number between 0 and 7 then create a certain class of entity depending on the number selected
i=Rand(0,7)
Select i
Case 0 ent=CreatePivot()
Case 1 ent=CreateLight()
Case 2 ent=CreateCamera()
Case 3 ent=CreateMirror()
Case 4 ent=CreateSprite()
Case 5 ent=CreateTerrain(32)
Case 6 ent=CreatePlane()
Case 7 ent=CreateMesh()
;Case 8 ent=CreateListener(parent)
;Case 9 ent=LoadMD2(md2_file$)
;Case 10 ent=LoadBSP(bsp_file$)
End Select

; Get the class of the entity
class$=EntityClass$(ent)

; Output the class to the screen
Text 0,0,"A "+class$+" was created."

Text 0,20,"Press a key."

WaitKey()

End
хелп 1.88

impersonalis 31.03.2009 01:30

Ответ: Проблемы LoadAnimMesh
 
аномалия какая-то: за последние недели друг-другу нарассказывали столько очевидных вещей из хелпа. Наверно, перемудрили

HolyDel 31.03.2009 01:31

Ответ: Проблемы LoadAnimMesh
 
impersonalis, ага. весна наверно.

IGR 31.03.2009 15:46

Ответ: Проблемы LoadAnimMesh
 
Вложений: 1
Цитата:

я тебе не верю код покажи.
вооще-то уже разобрался !! спасибо !! :)
просто я брал фукцию (AnimEntityTexture) с сорсов ВарТича !!
в коде АВТОМАТА немного другая ф-ция (AnimEntityTexture_NEW) - она работает !!
в атаче код с медией, если будет время - глянь !! у меня 1 ф-ция работает вторая нет !!
Код:

Graphics3D 800,600,32,2
SetBuffer BackBuffer()

cam = CreateCamera()
        CameraClsColor cam,64,64,64
        PositionEntity cam,0,150,-200

bot = LoadAnimMesh("1.b3d")
        bot_anim = LoadAnimSeq(bot, "anim_walk.b3d")
        MoveEntity bot,0,-30,100
        Animate bot,1,1,bot_anim

;        загружаем текстуру-маску
                m_tex = LoadTexture("man_MM.jpg",4)
;        загружаем диффуз-текстуру с кровью
                d_tex_blood = LoadTexture("man_blood_DM.jpg",1)

;                Работает !!
        AnimEntityTexture_NEW(bot,m_tex,0,0);
        AnimEntityTexture_NEW(bot,d_tex_blood,0,1)

;                Почему-то НЕ работает !!
;        AnimEntityTexture(bot,m_tex,0,0)
;        AnimEntityTexture(bot,d_tex_blood,0,1)

Repeat
        TurnEntity bot,0,0.3,0
RenderWorld()
UpdateWorld()
        Text 10,10, EntityClass(bot)
Flip
Until KeyHit(1)
End


Function AnimEntityTexture_NEW(ent, tex,flag=0,level=0)
        If EntityClass(ent) = "Mesh" Then
                EntityTexture ent,tex,0,level
        End If
        For i=1 To CountChildren(ent)
                AnimEntityTexture_NEW(GetChild(ent,i),tex,0,level)
        Next
End Function

Function AnimEntityTexture(aent,tex,frame=0,layer=0)
Local ent
EntityTexture aent,tex,frame,layer
For c=1 To CountChildren(aent)
        ent=GetChild(aent,c)
        If CountChildren(ent)>0
        AnimEntityTexture(ent,tex,frame,layer)
        Else
        If EntityClass(ent)="Mesh" Then EntityTexture ent,tex,frame,layer
        EndIf
Next
End Function


ABTOMAT 31.03.2009 16:59

Ответ: Проблемы LoadAnimMesh
 
Вечером отпишусь, щас убегаю


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

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot