iPad専用アクションゲーム「スライムは投げる」

最近のエントリー

パスのバウンズを取得するときに、GraphicsPath.GetBoundsを利用することがありますが、引数に行列とペンを引き渡してバウンズを取得できる物も用意されています。

しかし実際に使ってみると、希望していたバウンズとは違う結果が取得されてしまいました。

Edge1

using (Pen pen = new Pen(Color.Black, 20))
using (Pen redPen = new Pen(Color.Red))
using (Pen bluePen = new Pen(Color.Blue))
using (GraphicsPath path = new GraphicsPath())
{
    path.AddLine(30, 30, 120, 120);
    e.Graphics.DrawPath(pen, path);

    RectangleF rc = path.GetBounds(null, pen);
    e.Graphics.DrawRectangle(redPen, rc.X, rc.Y, rc.Width, rc.Height);

    path.Widen(pen);
    rc = path.GetBounds();
    e.Graphics.DrawRectangle(bluePen, rc.X, rc.Y, rc.Width, rc.Height);
}

ソースを見てもらえれば判ると思いますが、赤で囲った矩形がGetBounds(Matrix, Pen)で取得したバウンズ、青で囲った矩形がWidenでペンをパス化した結果に対してGetBounds() したバウンズです。
結構余白が大きく入りますね。
ペンの太さが太かったり、矢印等のアンカーが付いていたりするとより顕著です。

より正確にバウンズを取得したい場合はGetBounds(Matrix, Pen)は使わないほうが良さそうです。
(動作速度もそこそこ差がありそうですが、今回は計っていません)

フォーム上にLabelを貼って、「あああ\nいいい」と打っても、改行されずにそのまま表示されてしまいます。

Edge2

デザイナ上で改行を使うには、プロパティのTextの右側のドロップダウンをクリックします。
Edge4

テキストエリアが表示されますので、そのなかでEnterキーで自由に改行ができます。

確定するとフォームにも反映されます。
Edge3

グランツーリスモ5で出会った曲。
ゲーム中でもこの曲が流れると、ウキウキしてしまいます(笑)

別バージョン(古い?)もあるようです。

こちらはイントロのギターが若干音が上がりきっていない箇所があり、その辺が気になりますが、BASEMENTの後ろが気合い入っていて結構好きだったりします(iTunesで買うと前者のやつなのですが)。

ドライブのおともにどうぞ。

ちょこっと改良しました。

ダウンロードはこちらのページからどうぞ。
https://takabosoft.com/win#am2

またもし変な動きをしている箇所を見つけられましたらご連絡ください、

変更点一覧

  • 色設定画面にて、RGB値の表示および入力が出来るようにしました。
  • 画像のオフセットが0より小さく出来ない不具合を修正しました。

前教えて貰ったけど、忘れやすいのでメモ。
http://regexpal.com/

C#だと正規表現が使えますので、テキスト解析にとっても便利です。

記事検索

コミュニティ

Banner designed by gebo様
ドット絵掲示板
ドット絵掲示板
自作の「ドット絵」を投稿することができます。ドッターさん同士の交流の場としてご利用ください。
TakaboSoft Wiki
TakaboSoft Wiki
ソフトウェアに関する質問・不具合報告・要望などを書き込むことができます。