ポイントとエクステンド+「3Dの何か」

アバター
Tatu
記事: 445
登録日時: 14年前
住所: 北海道

ポイントとエクステンド+「3Dの何か」

投稿記事 by Tatu » 14年前

今回はポイントが一定数たまると残機が増えるという処理を追加します。
また、最近のバージョンアップにより、エクステンドに必要なポイントも
表示されるようになったのでその表示についても書きます。

最初に効果音を用意します。


load.cppのload()に以下を追加

CODE:

	sound_se[36]=LoadSoundMem("../dat/se/1up.wav");
次に自機構造体にエクステンドに必要なポイントの情報を追加します。

struct.hのch_tのメンバに以下を追加

CODE:

	int extend;		//エクステンドに必要なポイント
ini.cppのini()に以下を追加。

CODE:

	ch.extend=100;//最初のエクステンドに必要なポイント
ポイントアイテムの処理にエクステンドに関する処理を追加します。

out.cppのch_and_item()の以下を変更

CODE:

					case 1:
						ch.point+=1;
						//ポイントが必要なだけたまったら残機を増やす
						if(ch.point==ch.extend){
							ch.num+=1;
							ch.extend+=100;
							se_flag[36]=1;
						}
						break;

エクステンドに必要なポイントの描画処理を追加します。
/については画像ではなく文字のようです。
フォントデータはタイトル、ポーズ、弾幕予告の名前、HPなどのやや大きめの
文字のデータと同じものだと思われます。フォントについては


龍神録掲示板「ご質問に関することはこちら」のDixqさんの記事
ご報告ありがとうございます。
とりあえず今回は MS ゴシック のみを使ってみました。
このフォントが入っていれば表示されるのではないでしょうか?
・・英語版を持っていないので良く分かりませんが;

があり、それからこの文章が書いた時まで変更がないと思うので
MS ゴシックを使います。

load.cppのload()に以下を追加

CODE:

	font[1] = CreateFontToHandle( "MS ゴシック" , 20 , 2 , DX_FONTTYPE_ANTIALIASING_EDGE);
ポイントの表示を追加します。
graph.cppのgraph_board_states()に以下を追加

CODE:

	int extend=ch.extend;

CODE:

	// "/"の表示
	DrawStringToHandle(558,118,"/",color[0],font[1]);

	for(i=0;i<4;i++){//エクステンドに必要なポイント
		DrawRotaGraph(620-14*i,131,1.0f,0.0f,img_num[0][extend%10],TRUE);
		extend/=10;
	}
以上により、エクステンドに関する処理が書けました。


ポイントアイテムをとるとき、スコアも加算されているのですが
計算式がy座標と関係しているらしいということしかわかっていないため、
その処理は書いていません。

誰かスコアの解説動画とかあげてくれないかなあ。


今回のおまけ「3Dの何か」

DXライブラリを使って3Dアクションゲームをつくっていたのですがつくっているうちに
DXライブラリにもともとあるZバッファとその書き込みのフラグをONにするだけではうまく描画されず、
(ポリゴンの前後関係が無視され、描画順序に影響されてしまう)
何らかの方法でZソートを行う必要があるという問題が出てきました。

そのため、次の段階に進むのに時間がかかりそうなので
今の段階での実行ファイルを公開します。

[拡張子 zip は無効化されているため、表示できません]

操作方法

WASD 前後左右に移動する
Q ジャンプ(空中でも可能)

IJKL 見る方向を変える
U 目の前にブロックを生成する(水平,4方向のみ)
O 目の前のブロックを消去する(水平,4方向のみ)

最初からある迷路を抜けてみたり
ブロックを出したり消したりして遊んでください。

終了はESCです。

スクリーンショット
3Dの何か.png
迷路を上空からみたものです
最後に編集したユーザー Tatu on 2011年2月15日(火) 21:43 [ 編集 1 回目 ]

アバター
みけCAT
記事: 6734
登録日時: 14年前

Re: ポイントとエクステンド+「3Dの何か」

投稿記事 by みけCAT » 14年前

フォント名は"MSゴシック"ではなく、"MS ゴシック"だと思います。
(文字は全角、MSとゴシックの間に半角スペース)
少なくともHSPではそうだったと思います。
元のコードで動くのでしたらすみません。

アバター
Tatu
記事: 445
登録日時: 14年前
住所: 北海道

Re: ポイントとエクステンド+「3Dの何か」

投稿記事 by Tatu » 14年前

>>みけCATさん
フォント名を見てみたところ指摘通りでしたので
MSゴシックからMS ゴシックに修正しました。

HGPゴシックEというフォントを使っていたため、半角だと思い込んでいて
プログラムもちょっとみただけでは問題なく動いているので気づきませんでした。

ISLe
記事: 2650
登録日時: 14年前

Re: ポイントとエクステンド+「3Dの何か」

投稿記事 by ISLe » 14年前

"MS Gothic"という名前(別名)も使えます。