アクションプログラム

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
駄文使い
記事: 7
登録日時: 13年前
住所: 福岡

アクションプログラム

#1

投稿記事 by 駄文使い » 13年前

DXライブラリのサンプルを利用し、基本の動きである左右移動、ジャンプを実装し、ゲームの計画通りキャラクタチップのサイズを30bitから60bitサイズに変更を行いました。
基本動作の状況~
キャラクタチップの変更により
接地判定などに問題が起こりました。
マップチップで一つだけをおいたところに飛ぼうとすると、何もない中間点でとまってしまいます。
1マスだけの状態での判定のとき、通り抜けてしまいました。

理由としては、判定をマップチップを左上、右上、左下、右下の四点の座標位置で判定しているからだと予想しています。
その為、現在、真上と真下の判定を組み込んだ段階です。
何もない中間点での動作をどうするかが問題となっています。

攻撃方法~
弾丸を発射できるようになりました。
問題は発射後の弾丸にも割り込みでのキーボード判定が反映されていることです。

添付ファイルに必要データをつけておきます。
char.pngなのですが、これをhg.bmpに変更お願いします。

回答お願いします
右側に弾丸を発射した後、左ボタンを打つと左に発射後の弾丸がついてくる。
どのように改善するといいのかわかりません。

質問で聞きたいことは攻撃法方法である弾丸の制御の仕方
キャラクタの動きに関してです。
添付ファイル
char.png
char.png (6.34 KiB) 閲覧数: 3070 回
chara.png
ueda.txt
(14.5 KiB) ダウンロード数: 149 回

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 13年前
住所: 東海地方
連絡を取る:

Re: アクションプログラム

#2

投稿記事 by softya(ソフト屋) » 13年前

幾つか問題あるので列挙します。
(1)chara.pngが60x60の倍数では無いグラフィックサイズです。360x360に7x7のパーツが入っているので整数で割りきれません。
60x60なら420x420ドットになるはずです確認して下さい。

(2)LoadDivGraph( "chara.png" , 16 , 4 , 4 , 60 , 60 , image );が実際のグラフィックと一致していません。
LoadDivGraph( "chara.png" , 49 , 7 , 7 , 60 , 60 , image );が狙ったものと思いますが(1)で指摘した通り現状はそれにも合っていません。
LoadDivGraph( "chara.png" , 16 , 4 , 4 , 51 , 51 , image );が今のグラフィックだと妥協案です。

(3)弾の向きがキャラクタの向きに左右される。
弾を発射した瞬間に弾毎の向きを固定するため向きを複製してください。
つまり、

コード:

struct shot{
	int x2,y2;  //座標
	int flag;
};
は、

コード:

struct shot{
	int x2,y2;  //座標
	int muki;
	int flag;
};
に変えてこのmukiをうまく使うのです。

【追記】
って書いてから思ったけど次見てくれるの来週の月曜日なんだろうか?
毎週月曜日と木曜日の午前中しかここに来れないみたいですが、現状のペースだと年内に弾発射でさえ正常になるかどうか微妙だと思います。
それに上で指摘してませんが、モーションがかなり怪しいです。
実のところ、あまりDXライブラリの使い方を理解していらっしゃるとも思えませんのでかなり厳しいと思ってください。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

駄文使い
記事: 7
登録日時: 13年前
住所: 福岡

Re: アクションプログラム

#3

投稿記事 by 駄文使い » 13年前

softyaさん回答ありがとうございます。
施設の関係でデータとソフトが使用できない状態ですので、おっしゃるように月曜日、木曜日の午前中にしかこれません。

モーションの動きがかなり怪しいというのは、私が書いた問題点以外にもあるのでしょうか。

弾丸発射時にmuki変数を追加するということですよね。

回答ありがとうございました

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 13年前
住所: 東海地方
連絡を取る:

Re: アクションプログラム

#4

投稿記事 by softya(ソフト屋) » 13年前

データやソースがそのまま持ち出せないにしてもソースを印刷するとか書き写すとか、机上で出来ることも沢山あるはずです。
それとネットカフェ等の利用など、この掲示板に訪れる方法も無いとは思えません。
本当に手はないのでしょうか?良く考えてみてください。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 13年前
住所: 東海地方
連絡を取る:

Re: アクションプログラム

#5

投稿記事 by softya(ソフト屋) » 13年前

駄文使い さんが書きました: モーションの動きがかなり怪しいというのは、私が書いた問題点以外にもあるのでしょうか。
プレーヤーキャラの動きがかなり不思議な動きをします。
原因は画像データとプログラムの整合性が取れていないって事に尽きるとおもいます。
駄文使い さんが書きました: 弾丸発射時にmuki変数を追加するということですよね。
弾の制御は弾専用のmukiを使って、プレイヤーはプレイヤーのmukiを使います。
弾を発射した瞬間に、プレーヤーのmukiを弾のmukiにコピーしてください。
これで弾が発射した瞬間の方向に固定されます。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

マグロ丼

Re: アクションプログラム

#6

投稿記事 by マグロ丼 » 13年前

モーションの動きがあやしいというか、こうすればもっと歩いているように見せられるのに、と思った点で書かせていただきます。
根本的な話として、一番上のモーションでは右足で接地したのにまた右足で前に行こうとしています。
これでは少しびっこを引いている感じになってしまいます。
歩くというのはうまく倒れずに前につんのめっていく動作です。
上から二番目のモーションでは確実にこけます。実際にご自身で動いてみるといいですね。
あと、頭の位置も上下しますし、また上半身も動くので銃も上下に動きます。
頭は若干ながら動いているように見えますが、銃も動けばもっとらしく見えるようになると思いますよ。

駄文使い
記事: 7
登録日時: 13年前
住所: 福岡

Re: アクションプログラム

#7

投稿記事 by 駄文使い » 13年前

softyaさん、わかりやすい解説ありがとうございます。
マグロ丼さん、具体的に不具合を指摘していただきありがとうございます。
モーションの動きが早く、そこまで確認をしておりませんでした。ありがとうございます。

データやソースがそのまま持ち出せないにしてもソースを印刷するとか書き写すとか、机上で出来ることも沢山あるはずです。
それとネットカフェ等の利用など、この掲示板に訪れる方法も無いとは思えません。

机上での作業では、コードの整合性を確認できないもので、していませんでした。
DXライブラリをうまく扱えていない現状、ソレができるとは思えず、避けて考えていました。
時間がないのですから、それくらいのことはしないと完成しないですね。がんばります。

閉鎖

“C言語何でも質問掲示板” へ戻る