1. SAYDAM CISIMLER CIZDIRMEK
Xna de cizim yapisi size farkli olanaklar verebilcek sekilde hazirlanmistir.Eger spriteBatch.end(); den once bir model cizimi yapiyorsaniz bu modelin biraz saydam gorunmesi beklenir ki buda seklini alt ust ediyor.Boyle bir sorunla karsilasiyorsaniz alttaki kodu hemen modeli cizdirmeden once eklemeniz sorunu cozecektir.
g.GraphicsDevice.RenderState.AlphaBlendEnable = false; g.GraphicsDevice.RenderState.AlphaTestEnable = false;
Ayrica saydam modeller cizdirmek icinde bu kodu true yaparak kullanabilirsiniz.Ornegin life’i 1in altina dusen modelleri yavas yavas saydamlastirip yokedicekseniz;
public void DrawModel(Model c)
{
if (c.life <>
{
g.GraphicsDevice.RenderState.AlphaBlendEnable = true;
g.GraphicsDevice.RenderState.AlphaTestEnable = true;
}
foreach (ModelMesh mesh in c.model.Meshes)
{
foreach (BasicEffect effect in mesh.Effects)
{
effect.EnableDefaultLighting();
effect.PreferPerPixelLighting = true;
effect.World = Matrix.CreateFromYawPitchRoll(c.rotation.X,c.rotation.Y,c.rotation.Z) * Matrix.CreateTranslation(c.position);
effect.Projection = Matrix.CreatePerspectiveFieldOfView(MathHelper.ToRadians(45), aspect, 1,
effect.View=Matrix.CreateLookAt(cameraview,lookAt,Vector3.Up);
effect.Alpha = c.alpha;//Modeli tanimladiginiz sinifta modelin alfasini zamanla azaltarak saydamlastirabilirsiniz. Alfa 0 ve 1 arasında olmali.
}
mesh.Draw();
}
}
Hiç yorum yok:
Yorum Gönder