2013-11-26 5 views
0

XNA 3.1을 가지고 있는데, 배열이나 버튼 클릭 또는 스위치를 렌더링 할 때 xna 3.1에 여러 모델을로드하는 방법은 무엇입니까? 3D 모델을 여러 개로드해야 렌더링 할 수 있습니다.XNA 3.1의 멀티플 모델

:

링크

내가 코드를 얻을 LINK

이지만,이 코드는

오류는이 라인에서 발생하는 4.0

Model[ ] modelArray; 

protected override void LoadContent() 
{ 
    modelArray = new Model[3]; 
    modelArray[0] = Content.Load<Model>("model1"); 
    modelArray[1] = Content.Load<Model>("model2"); 
    modelArray[2] = Content.Load<Model>("model3"); 
} 

protected override void Draw(GameTime time) 
{ 
    GraphicsDevice.Clear(Color.LightBlue); 
    foreach (Model m in modelArray) 
    { 
     foreach (BasicEffect be in m.Effects) 
     { 
      be.World = YOURWORLDMATRIX; 
      be.View = YOURVIEWMATRIX; 
      be.Projection = YOURPROJECTIONMATRIX; 
     } 
     m.Draw(); 
    } 
    base.Draw(time); 
} 
에, 그들은 나에게이 오류를 보여
ERROR1:'Microsoft.Xna.Framework.Graphics.Model' does not contain a definition for  
    'effects' and no extension method 'effects' accepting a first argument of type 
     'Microsoft.Xna.Framework.Graphics.Model' could be found (are you missing a 
     using directive or an assembly reference?) 

및 그리기에서 동일한 오류 :

01 이 라인

m.Effects 
m.Draw(); 

모든 솔루션에 23,516,

'Microsoft.Xna.Framework.Graphics.Model' does not contain a definition for 'draw' 
     and no 
    extension method 'draw' accepting a first argument of type 
    'Microsoft.Xna.Framework.Graphics.Model' could be found (are you missing a using 
     directive or an assembly reference?) 

?

답변

0

그리기 절차는 다른,이 시도 :

foreach (Model m in modelArray) 
{ 
    foreach (ModelMesh mesh in m.Meshes) 
    { 
     foreach (BasicEffect effect in mesh.Effects) 
     { 
      be.World = YOURWORLDMATRIX; 
      be.View = YOURVIEWMATRIX; 
      be.Projection = YOURPROJECTIONMATRIX; 
     } 
     mesh.Draw(); 
    } 
} 

참조 MSDN을.

추 신 : 관습에 따라, 귀하의 varables에는 대문자를 사용하지 마십시오.