【c#+DX】スピードシ ..
[2ch|▼Menu]
2:名前は開発中のものです。
15/07/13 00:14:08.70 u37lAxzn.net
【フォーラム-ゲームの基本的な部分】
*ゲームの正式名称
URLリンク(osdn.jp)
*クラス図、is-a、has-a
URLリンク(osdn.jp)
*総合
URLリンク(osdn.jp)
【チケット】
クラス図、is-a、has-aの関係をある程度作る
【マイルストーン】
基本的な部分を決める
とりあえず動くようにする

3:tkr ◆8reCYe8za.
15/07/13 00:26:50.56 u37lAxzn.net
とりあえず現在のプロジェクト情報を貼りました。
宜しくお願いします。

4:名前は開発中のものです。
15/07/13 02:13:36.50 AAWa3QHZ.net
面白そうだけど自分のイメージと同じかわからんな
C# DXってSharpDX想定?

5:tkr ◆8reCYe8za.
15/07/13 17:12:14.36 u37lAxzn.net
>>4
DXライブラリです。

6:tkr ◆8reCYe8za.
15/07/13 18:20:14.41 u37lAxzn.net
【スレッド ゲームの基本的な部分:クラス図、is-a、has-a】
is-a、has-aの関係を簡単に作りました。
URLリンク(osdn.jp)
is-a
GameObject ┬Teki─各種敵
        ├My
        ├Die
        └Tama─各種弾
has-a
Main┬Title
   ├Ranking┬Score[]
    │       └Net
    └Game┬Teki[]─Tama[]
         ├My─Tama[]
         ├Back
         ├Point
         ├Key
         └TamaNumber

7:名前は開発中のものです。
15/07/13 20:06:58.55 UACPDUdt.net
オブジェクトの継承包合関係はプログラマくらいしか興味ない情報じゃないかな。
画像と音も募集してるならもうちょい具体的なイメージを提示したほうが良いんじゃなかろうかのー

8:tkr ◆8reCYe8za.
15/07/13 20:57:59.92 u37lAxzn.net
is-a、has-a修正
これの通りにクラスを作成してコミットしました。
is-a
GameObject ┬Teki─各種敵
        ├My
        ├Die
        └Tama─各種弾
Stage─各ステージ
has-a
Main┬Title─TitleKey
    ├Ranking┬Score[]
    │       ├Net
    │       ├File
    │       └RankingKey
    └Game┬Teki[]─Tama[]
         ├My─Tama[]
         ├Stage─Back
         ├Point
         ├GameKey
         └TamaNumber

9:tkr ◆8reCYe8za.
15/07/13 20:58:46.70 u37lAxzn.net
ファイル分け。1/2
*Back.cs
Back
*Die.cs
Die
*Game.cs
Die
*GameObject.cs
GameObject
*Key.cs
GameKey
TitleKey
RankingKey
*Main.cs
Main
*My.cs
My
*Number.cs
TamaNumber
Point

10:tkr ◆8reCYe8za.
15/07/13 20:59:07.34 u37lAxzn.net
ファイル分け。2/2
*Ranking.cs
Net
Ranking
Score
File
*Stage.cs
Stage
各ステージ
*Tama.cs
各弾
*Teki.cs
各敵
*Title.cs
Title

11:tkr ◆8reCYe8za.
15/07/13 21:00:41.26 u37lAxzn.net
>>7
具体的なイメージは少々お待ち下さい。今日の夜〜明日の間には公開できると思います。

12:tkr ◆8reCYe8za.
15/07/13 21:19:05.71 u37lAxzn.net
javaですがイメージが少しでもできるようにリンク貼っておきます。
実際は画像が変わり、敵が弾を出すようになり、ステージが追加されたりします。
URLリンク(www.mediafire.com)
現在の予定
・無限ループ
・通常弾で攻撃するとゲージが溜まりゲージを消費して特殊弾を撃てる

13:名前は開発中のものです。
15/07/14 08:39:22.66 XAZno6tk.net
DXライブラリをC#から使うメリットは全くないよな。
まあそれしか知らんのならしょうがないが。

14:tkr ◆8reCYe8za.
15/07/14 18:28:38.24 c995+RdQ.net
>>13
.NET Frameworkがあるからと言う事ですか?

15:tkr ◆8reCYe8za.
15/07/14 23:07:04.35 c995+RdQ.net
コミットしました。
GameObjectクラスを少し作成。
Mainクラスとmainクラスに変更。
Mainメソッドを少し作成。

16:tkr ◆8reCYe8za.
15/07/15 22:58:26.34 6a/hDLf/.net
コミットしました。
仮の画像を追加。
GameObjectクラスのコンストラクタとその子クラスのコンストラクタを作成。
GameObjectクラスにメソッド追加。
mainクラスで画像の読み込み。
その他修正。

チケットを作成しました。
自機を作る
URLリンク(osdn.jp)

17:tkr ◆8reCYe8za.
15/07/18 10:27:41.66 czytKmOT.net
【コミットr6】
Dieクラス作成
列挙型Direction作成
Myクラスの移動部分作成。
GameObjectクラスのimgX、imgY、hitX、hitYをプロパティでまとめて変更できるようにした。
GameKeyクラスをstaticに。
GameKeyの移動部分を作成。

18:名前は開発中のものです。
15/07/27 15:08:51.12 /CO8ZZaM.net
また糞スレ立て逃げ?

19:名前は開発中のものです。
15/07/27 16:15:12.04 w0ctpQcp.net
>>1のリンク先で7/22にコミットがあるよ。
判断するにはまだ早いかと。
成果物はおろか中間ファイルまでリポジトリに入ってるのは勘弁だがw

20:tkr ◆8reCYe8za.
15/07/27 16:47:05.18 59qqZLSf.net
立て逃げではありません。すみません。

21:tkr ◆8reCYe8za.
15/07/31 22:56:37.67 kNTv3ZOJ.net
【コミットr8】
Screenクラス追加。
Gameクラスを少し作成。
is-a、has-a、ファイル分け.txt変更。
その他変更。

22:名前は開発中のものです。
15/08/03 13:43:20.95 5yU+Pb88.net
binとobj乗っけるのやめられないのかなあ
Datasの置き場所に工夫が必要になるけどさあ

23:tkr ◆8reCYe8za.
15/08/03 15:49:58.12 kY1MKn3T.net
>>22
objフォルダとbinフォルダはいらないという事ですか?

24:名前は開発中のものです。
15/08/03 16:14:51.48 5yU+Pb88.net
そう、あと.suoもいらん
VCS使うの初めて?
まあソースツリーとバイナリの配布は別々にした方がいいかと

25:tkr ◆8reCYe8za.
15/08/03 16:20:23.48 kY1MKn3T.net
解説しているサイトとかないですかね?

26:名前は開発中のものです。
15/08/03 17:11:38.15 5yU+Pb88.net
難しいな、何を管理対象にするかとかを書いてるとこなかなかないな
最近はGitのが解説多そうだしなあ
.svnignore とVisualStudio svnあたりでたどってみては・・・

27:tkr ◆8reCYe8za.
15/08/03 17:14:45.37 kY1MKn3T.net
ありがとうございます。
少し調べてみます。

28:tkr ◆8reCYe8za.
15/08/03 18:30:32.21 kY1MKn3T.net
【r9】
TamaNumber削除
GameObjectの座標を倍精度小数にし、それに合わせてその他メソッド等を修正
Tamaクラスの弾管理メソッド作成
【r10】
フォルダ構造を変更
【その他】
r9で弾幕っぽくなっていますがあれは自機の必殺技的な物です。実験用に自動で弾が発射されるようになっています。
敵を倒すとゲージが溜まっていき、それを使う事で特殊弾や一定時間無敵、スピードアップや連射等の強化ができるようにする予定です。

29:tkr ◆8reCYe8za.
15/08/03 18:55:00.01 kY1MKn3T.net
ゲーム名候補
QSTG
意味…QuickSTG
何かいまいち。

30:tkr ◆8reCYe8za.
15/08/04 00:46:27.42 MmvJawGv.net
【r11】
分かりにくいコメントの修正。
GameObjectクラスのコンストラクタ(double,double,int)、(GameObject,int)を追加。
GameObjectクラスの中心座標取得関係のメソッドをint型指定でもできるようにした。
テスト用にオブジェクトの当たり判定部分を赤い四角で囲んだ。

31:tkr ◆8reCYe8za.
15/08/04 20:22:38.64 OvWBl5fZ.net
【r12】
当たり判定用の座標、大きさと画像用の座標、大きさについて.txt作成
追跡弾作成
回転弾変更
散弾作成
自機の移動範囲拡大
弾のキー操作に少し対応

32:tkr ◆8reCYe8za.
15/08/04 21:32:13.48 OvWBl5fZ.net
【当たり判定用の座標、大きさと画像用の座標、大きさについて.txt】
基本的に当たり判定用の座標、大きさと画像用の座標、大きさは同じにして下さい。
ただし弾のスピードが速すぎてすり抜ける場合など調整が必要な場合は調整して下さい。
また画像用の変数をメインに考えて下さい(はみ出しチェックなどは画像用変数で行う)

33:tkr ◆8reCYe8za.
15/08/04 21:33:14.67 OvWBl5fZ.net
その1
【ゲージ関係.txt】←次回のコミット時に追加します。
敵を倒すとゲージが溜まっていくようにする予定です。
そのゲージで色々な技をできるようにする予定です。
以下現在考えている技(全仮名)
【弾系】
ゲージを使う事で特殊弾を撃てるようにする予定です。現在の予定は
*高速弾
通常の弾の1.5〜2倍速い弾
*拡散弾
前に飛んでいく弾
*追跡弾
敵の方向に飛んでいく玉弾
*回転弾(切り札)
数方向に弾をばら撒く
*円形弾
円形に弾を飛ばす

34:tkr ◆8reCYe8za.
15/08/04 21:33:42.42 OvWBl5fZ.net
その2
【ゲージ関係.txt】←次回のコミット時に追加します。
敵を倒すとゲージが溜まっていくようにする予定です。
そのゲージで色々な技をできるようにする予定です。
以下現在考えている技(全仮名)
【自己強化】
*連射強化
弾を発射できる間隔が短くなる
*移動速度強化
速度が1.5〜2倍になる
*当たり判定縮小
自機の当たり判定が1/2〜1/4になる
*弾サイズ強化
弾サイズが2〜4倍になる
【その他】
*回避
60Fくらい無敵
*カウンター
最初の5fで敵の攻撃が当たれば回転弾、6〜10fなら円形弾、11〜15なら拡散弾などのカウンターが可能。ギリギリまで引き寄せるほど効果が大きくなるようにしたい。

35:tkr ◆8reCYe8za.
15/08/05 18:24:23.25 QPVl04Xr.net
【r13】
「ゲージ関係.txt」作成
Tamaクラスの進むx、yを先に計算するようにして高速化。
回転弾変更
テスト用のDrawBoxが重い為コメントアウト
散弾変更
【その他】
GameObjectクラスが使いにくいので改造中です。

36:tkr ◆8reCYe8za.
15/08/06 00:21:24.25 WafvykF3.net
【r14】
「当たり判定用の座標、大きさと画像用の座標、大きさについて.txt」削除
GameObjectの大幅変更とそれに依存するクラスの修正
*内容
今までの当たり判定と画像のXYWHを統一し当たり判定を+数値で指定するようにした。
便利なプロパティやコンストラクタ等の作成。
当たり判定のすり抜け防止の為、矩形の当たり判定に加えて線分の交差判定を追加した。
その他色々。
*注意
newして待ち時間のある弾は発射した機体を追うため、機体が動くとテスト用当たり判定線分の表示がおかしくなります。ただしゲームには影響ありません。

37:tkr ◆8reCYe8za.
15/08/06 23:08:46.75 WafvykF3.net
ゲーム名候補
"煌速凶獸狙撃"
意味:光(煌)速で凶暴な獣(獸)を狙って撃破。
でも獣じゃなくて戦闘機のシューティング作りたいんだよな・・・
最近人型多いから。
機械なら
"煌速危機狙撃"
でもいいか。本当は危険な機械って書きたいのに危機になってしまったorz

38:tkr ◆8reCYe8za.
15/08/06 23:42:09.49 WafvykF3.net
【r15】
GameObjectクラスにNotLineメソッド追加
前回コミットの弾を発射した後移動すると当たり判定用線がおかしくなる不具合修正

39:tkr ◆8reCYe8za.
15/08/07 08:49:22.32 8P091hGo.net
【r16】
機体の描画領域を画面の端までから380×460(ただし左と上に10隙間がある)に変更
それに合わせて各クラス変更。
またGameObjectクラスのDrawGraphを使って描画している場合はウィンドウの座標ではなく描画部分の座標で指定して下さい(例:ウィンドウのX20に描画する場合はX10と指定)

40:tkr ◆8reCYe8za.
15/08/07 22:20:27.70 8P091hGo.net
【r17】
自機の初期位置変更
散弾変更
通常弾、高速弾、連射弾作成
Tamaクラス修正
GameObjectクラス修正。スピードが速すぎると線分交差判定がおかしくなる問題修正。またそれに依存するクラスの修正。
「ゲージ関係.txt」変更

41:tkr ◆8reCYe8za.
15/08/25 14:25:21.12 3/2xaZaA.net
【r18】
連射弾変更
弾の待ち時間.txt作成
弾の発射にキーを割り当てる為に色々変更

42:名前は開発中のものです。
15/08/25 22:15:49.20 BcQa3el1.net
ソースみたけど、C#は初心者なのか
C#版DXライブラリはオブジェクト指向的に不自然だから、軽くでいいからラッパーを作ってC#の流儀に合うようにしたほうがいいと思うぞ
あとは、もう少し名前に気を使ってC#の命名規則に合わせるとか、ドキュメントコメントつけるとか、publicなフィールドはすべてプロパティにするとかしとくと後々余計な苦労せず済むかも

43:tkr ◆8reCYe8za.
15/08/25 22:22:41.81 3/2xaZaA.net
>>42
javaから移ってきて文法がほぼ一緒だったので何となくで書いていました。
ラッパーを作るというのは例えば
DX.TRUEorFALSEを返す所をboolで返したりという事でしょうか?

44:名前は開発中のものです。
15/08/26 00:43:03.16 43jSpF/y.net
>>43
そういうのもそうだし、refやoutを取る関数もラップするとか、呼び出しをクラスにまとめるとかいろいろある
ただし、あんまりこだわるとラッパーライブラリ作るのに忙しくてゲーム作成に行き着かなくなるからほどほどに
あと、座標はPoint、大きさはSize、矩形はRectangleにしたほうがスッキリするし、IntersectsWithみたいなメソッドも使えておすすめ。
ただし、構造体はフィールドとプロパティで扱いが違うから、publicはすべてプロパティに統一しない後々面倒かもしれない

45:tkr ◆8reCYe8za.
15/08/26 00:48:06.85 WO7voyCF.net
>>44
自作しないで
URLリンク(totora.jpn.org)
はどうですかね?

46:名前は開発中のものです。
15/08/26 19:53:28.26 43jSpF/y.net
>>45
それは方向性はいいけど、更新されてないから真似して作り直したほうがいい

47:tkr ◆8reCYe8za.
15/08/26 22:37:29.79 WO7voyCF.net
>>46
こういう感じでいいんですね。分かりました。
作ってみます


最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

3143日前に更新/14 KB
担当:undef