メインメニューを開く

差分

MonoGameでSkiaSharpを使う

149 バイト追加, 2021年12月17日 (金) 02:30
編集の要約なし
MonoGameでSkiaSharpを使えれば、MonoGame標準では微妙に抜け落ちてる線を引いたり、丸を描いたり、塗りつぶしたりといった描画処理を簡単に行える。また、MonoGameが不得意な文字列の描画をTrue [[MonoGame]]で[[SkiaSharp]]を使えれば、MonoGame標準では微妙に抜け落ちてる線を引いたり、丸を描いたり、塗りつぶしたりといった描画処理を簡単に行える。また、MonoGameが不得意な[[文字列]]の描画を[[True Type Fontを使って組版ばりの品質で行える。日本語文字列の描画も大丈夫。Font]]を使って組版ばりの品質で行える。日本語文字列の描画も大丈夫。ほぼ[[OS]]にも依存しない。これ重要。
== 環境構築 ==
基本的にMonoGameプロジェクトにNuGetでSkiaSharpを突っ込むだけで利用できる。
packages.configを書き換える必要がある。この点には注意する必要がある。
後はSkiaSharpのSKBitmapをMonoGameのTexture2Dに変換できれば楽勝だ。あとはSkiaSharpのSKBitmapをMonoGameのTexture2Dに変換できれば楽勝だ。
<source lang="csharp">
using System;
</source>
試しに円を描いてみる。試しに虹色グラデーションな円を描いてみる。
<source lang="csharp">
using System;
// 虹色グラデーションシェーダー
var shader = SKShader.CreateSweepGradient(
new SKPoint(50w/2, 50h/2),
new[] {
new SKColor(0x00,0x00,0xff),
{
Shader = shader,
StrokeWidth = 1050,
IsStroke = true,
};
// 円を描く
canvas.DrawCircle(50w/2, 50h/2, 25w/4, paint);
// 描画コマンド実行
</source>
== 関連項目 == * [[SkiaSharp]]*[[SkiaSharpで日本語文字列を描画する]]* [[SkiaSharpでSKImageをファイルに保存する]]
[[category: MonoGame]]
[[category: SkiaSharp]]
匿名利用者