using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
namespace TestProject
{
public class Game1 : Game
{
private GraphicsDeviceManager _graphics;
private SpriteBatch _spriteBatch;
Texture2D tex_test;
public Game1()
{
_graphics = new GraphicsDeviceManager(this);
Content.RootDirectory = "Content";
IsMouseVisible = true;
}
protected override void Initialize()
{
// TODO: Add your initialization logic here
base.Initialize();
}
protected override void LoadContent()
{
_spriteBatch = new SpriteBatch(GraphicsDevice);
tex_test = Texture2D.FromFile( GraphicsDevice, "../../../resource/neko.jpg");
}
protected override void Update(GameTime gameTime)
{
if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed || Keyboard.GetState().IsKeyDown(Keys.Escape))
Exit();
// TODO: Add your update logic here
base.Update(gameTime);
}
protected override void Draw(GameTime gameTime)
{
GraphicsDevice.Clear(Color.CornflowerBlue);
// TODO: Add your drawing code here
_spriteBatch.Begin();
Color color = new Color( 128,128,128,128 );
_spriteBatch.Draw( tex_test, Vector2.Zero, color );
_spriteBatch.End();
base.Draw(gameTime);
}
}
}
マルチプラットフォーム対応のゲーム制作フレームワーク「MonoGame(モノゲーム)」の画像(Texture2D)を半透明描画する方法です。
[スポンサードリンク]
spriteBatchにDrawするときに「Color」を指定しますが、以下のようにColorのコンストラクタの引数RGBAをalphaと指定します。
alphaは0~255の範囲で、128なら透明度は50%という感じになります!
alpha = 128;
Color color = new Color( alpha, alpha, alpha, alpha );
猫が半透明になりました。
具体的には以下全コードの赤字部分をご覧ください。
Game1.csに以下をコピペすれば動くはずです。
[スポンサードリンク]
コメント
[スポンサードリンク]
関連記事
[スポンサードリンク]