FC2ブログ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

魔法少女は旅に出る 完成版公開

「魔法少女は旅に出る」の完成版をふりーむに公開しました

詳細ページへ

遊んだ感想などがあればご自由にコメントしてください
スポンサーサイト

魔法少女は再び旅に出る 制作開始

自作ゲーム「魔法少女は再び旅に出る」を作り始めました。
前回がいまいちだったので、今回はもう少しマシな出来にしたいです。


魔法少女は旅に出る 制作状況2

TimitidyによるBGM再生が出来なかった
のでBGMはなしで公開することに決めました

魔法少女は旅に出る 制作状況

やっと全てのステージ完成
あとはBGMを作るだけ

メモリ使用量を確認

using System;

namespace Project1
{
internal static class Program
{
private static void Main()
{
//GCクラスのGetTotalMemory関数は使用メモリを取得する関数
//引数はbool型で、trueならガベージコレクタを実行、falseなら実行しない
//
//戻り値はlong型
System.Console.WriteLine(GC.GetTotalMemory(false));

//ガベージコレクタを実行後のメモリ使用量を出力
System.Console.WriteLine(GC.GetTotalMemory(true));

}
}
}

「魔法少女は旅に出る」を更新しました

「魔法少女は旅に出る」を更新しました
注)現在レベル5まで遊べます

ゲーム紹介ページへ

「魔法少女は旅に出る」を仮公開しました

「魔法少女は旅に出る」を仮公開しました
注)現在レベル2まで遊べます

ゲーム紹介ページへ

SharpDX Rectangleの情報

using SharpDX;
using System;

namespace Project1
{
internal static class Program
{
private static void Main()
{
//矩形データを表す構造体
Rectangle rect = new Rectangle(50, 50, 100, 100);

//XY値と幅
//
//XY値を変更しても幅は変わりませんし、
//横幅や縦幅を変更してもXY値は変わりません
Console.WriteLine("X値 " + rect.X); //X値を変更しても横幅は変わらない
Console.WriteLine("横幅 " + rect.Width); //横幅を変更してもX値は変わらない
Console.WriteLine("Y値 " + rect.Y); //Y値を変更しても縦幅は変わらない
Console.WriteLine("縦幅 " + rect.Height); //縦幅を変更してもY値は変わらない


Console.WriteLine();

//XY値と幅
Console.WriteLine("XY値 " + rect.Location); //Locationを変更するのは、XY値を変更するのと同じ
Console.WriteLine("幅 " + rect.Size); //Sizeを変更するのは、幅を変更するのと同じ


Console.WriteLine();

//上下左右の位置
//
//左辺値・右辺値・上底値・下底値を変更すると、
//XY値や幅も変わります
Console.WriteLine("左辺 " + rect.Left); //左辺値を変更すると、X値や横幅も変化する
Console.WriteLine("右辺 " + rect.Right); //右辺値を変更すると横幅が変化する
Console.WriteLine("上底 " + rect.Top); //上底値を変更すると、Y値や縦幅も変化する
Console.WriteLine("下底 " + rect.Bottom); //下底値を変更すると縦幅が変化する


Console.WriteLine();

//その他
Console.WriteLine("中心点 " + rect.Center); //中心の位置
Console.WriteLine("左上  " + rect.TopLeft); //左上の位置
Console.WriteLine("左下  " + rect.BottomLeft); //左下の位置
Console.WriteLine("右上  " + rect.TopRight); //右上の位置
Console.WriteLine("右下  " + rect.BottomRight); //右下の位置

}
}
}

MiniRenderの更新

http://mini09.web.fc2.com/library/minirender/top.html
MiniRenderの更新をしました
クリッピングができるようにしました

Direct2D Layerを使ったクリッピング

using System;
using SharpDX;
using SharpDX.Direct2D1;

namespace Project1
{
internal static class Program
{
private static void Main()
{
var form = new System.Windows.Forms.Form();
var formSize = form.Size;

//描画用の設定
var hwnd = new HwndRenderTargetProperties();
hwnd.Hwnd = form.Handle;
hwnd.PixelSize = new Size2(formSize.Width, formSize.Height);

//描画用オブジェクトを作成
var factory = new SharpDX.Direct2D1.Factory();
var render = new SharpDX.Direct2D1.WindowRenderTarget(factory, new RenderTargetProperties(), hwnd);


form.MouseDown += (sender, e) =>
{
//描画開始
render.BeginDraw();

//レイヤーの作成
var layer = new SharpDX.Direct2D1.Layer(render);

//レイヤーの設定
var lp = new SharpDX.Direct2D1.LayerParameters();
//クリッピングの範囲を指定
lp.ContentBounds = new RectangleF(0, 0, 200, 200);
//クリッピングの範囲をGeometryで指定
lp.GeometricMask = new EllipseGeometry(factory, new Ellipse(new Vector2(150, 150), 100, 100));
//クリッピング用Geometryの設定
lp.MaskTransform = Matrix3x2.Scaling(1);
//透明度
lp.Opacity = 0.5F;

//レイヤーをクリッピングに使用する
//
//(注)BeginDraw関数の前に実行に実行するとエラー
render.PushLayer(ref lp, layer);

//塗りつぶし
render.Clear(Color.Aqua);

//レイヤーを使用したクリッピングの終了
//
//(注)PushLayer関数を使用したら、EndDraw関数を実行する前に、
//  PopLayer関数を実行しないとエラー。
render.PopLayer();

//描画の終了
render.EndDraw();

};

form.ShowDialog();
}
}
}
プロフィール

みにおん

Author:みにおん
c#でゲームを作る人です
web小説なども書いています

低学歴で馬鹿なのパート従業員
ですが、よろしく

相互リンク・ブロとも募集中です
コメントなどご自由にどうぞ

ホームページを見る
Twitter(個人ページ)
PIXIV(個人ページ)

○自作ゲーム一覧
ふりーむ
フリーゲーム夢幻
100%ふりげストア

・web小説
最後の時の夢

最新記事
最新コメント
月別アーカイブ
カテゴリ
ブロとも一覧
検索フォーム
ブロとも申請フォーム

この人とブロともになる

RSSリンクの表示
リンク
アクセスランキング
QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。