検索結果 22 件
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: ボタン操作によるグラフィックの描画に関しまして
- 返信数: 37
- 閲覧数: 39114
Re: ボタン操作によるグラフィックの描画に関しまして
どういうフォーマットにすれば良いかは、どういうアニメーションを実装したいかによるので、mj(水無月)さんしか分かりませんが、いちいち配列に名前を付けて、付けた配列の名前を並べて、といった煩雑な作業からは解放されます。 MotionTable motion_table[]以外は直接参照しないのでどんな名前でもかまわいないですからツールで適当に生成させることができます。 なるほど、プログラムの効率化に関してはやはりツール作成の知識が必要となるのですね。 どうやらその辺りの知識はまだ、勉強不足のようなので改めて学習してみることに致します。 とりあえずは当初のボタン操作によるグラフィックの描画に関し...
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: ボタン操作によるグラフィックの描画に関しまして
- 返信数: 37
- 閲覧数: 39114
Re: ボタン操作によるグラフィックの描画に関しまして
いったん提示したとおり書いていたのに、書き換えるとこうなってしまうのはなぜか純粋に興味あります。 すみません。こちらに関しましてはISLeさんの提供してくださったコードを導入したところボタン操作時の アニメーションが思うように描画されていなかったため、自分なりに原因を探るために書き換えたものです。 主にフラグを立てたりしていたのはテーブルの終端が読みこまれたときその画像を描画せずに即座に次の テーブルへ移動してしまうという不具合が発生していたためです。 その辺りの不具合は私がvoid calc_ch()を編集時のコードの記述ミスによるものだったと思われます。 現在はvoid ch_table...
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: ボタン操作によるグラフィックの描画に関しまして
- 返信数: 37
- 閲覧数: 39114
Re: ボタン操作によるグラフィックの描画に関しまして
>ISLeさん ISLeさんのおっしゃった通り、コードを良く検証したところ下記のようにすればテーブルを 進めるフラグを立てることなく普通にテーブルを進めても正常に描画でるようになりました。 void ch_table() { if (ch.cnt >= motion_serial->pitch) { ch.cnt = 0; ch.img++; if (!motion_serial->loop) { if(ch.img >= motion_serial->num) { //イメージ番号の最終要素を超える motion_serial++; // テーブルを進める ch.cnt = 0; // カウ...
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: ボタン操作によるグラフィックの描画に関しまして
- 返信数: 37
- 閲覧数: 39114
Re: ボタン操作によるグラフィックの描画に関しまして
>ISLeさん お世話になってます。こちらプログラムを修正いたしました。これでとりあえずは前進/後退/しゃがむが 正常に行えています。ISLeさんにご教授頂いたテーブルを進めて画像を描画する部分は少し自分なりに 変更してみました。これで一応はうまく実行はできていますがいかがでしょうか。 static int motion1[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23 };//ニュートラル static int motion2_1[] = { 26, 27 }...
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: ボタン操作によるグラフィックの描画に関しまして
- 返信数: 37
- 閲覧数: 39114
Re: ボタン操作によるグラフィックの描画に関しまして
>ISLeさん すみません、motion_serial++というよりは新しく追加したloopの使い方を間違えていたようです。 こちらISLeさんのコードを元に書いてみました。テーブルデータは以前書いたものを使用しています。 (割り算をなくしたいとありましたが割り算を使わずにコマの切り替わるスピードを制御することは 可能なのでしょうか?) motion_serial++でmotion2_1[]からmotion2_2[]へと進んだ際、Walk2へと状態が遷移するように したのですがどうもアニメーションがちらついてしまいます。motion2_2[]にテーブルが移動したときように 列挙型を増やしたので...
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: ボタン操作によるグラフィックの描画に関しまして
- 返信数: 37
- 閲覧数: 39114
Re: ボタン操作によるグラフィックの描画に関しまして
ISLeさん、ありがとうございます。おかげでグラフィックのほうはうまく描画することができました。 しかし、アニメーションのほうが上手く制御できていないようでmotion2_1からmotion2_2へと うまく繋がってくれません。おそらく前回ISLeさんが記載してくれた ループしないテーブル項目で最終要素を超えたときは、motion_serial++でポインタを進め、ch.cntをリセットします。 こちらをうまく利用できていないからだと思います。アニメーションを制御する際[motion_serial++]は どのように活用すればよいのでしょうか。 アニメーションデータ作成用のツールプログラム方は...
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: ボタン操作によるグラフィックの描画に関しまして
- 返信数: 37
- 閲覧数: 39114
Re: ボタン操作によるグラフィックの描画に関しまして
ISLe> ISLeさん、現在ご提供頂いたコードで色々と検証を行っています。グラフィックを描画するときなのですが 以前はMotionTable motion_table[]内に構造体配列がおさめられていたためmotion->index[ch.img] のみでアクセスが可能でした。しかし今回はserial毎にアクセス先が相違するため描画時にmotion_serial1->、 motion_serial2->とモーション毎にアクセス先を指定しなければなりません。こちらに関しまして前回の DrawRotaGraphF(ch.x+FIELD_X,ch.y+FIELD_Y,1.0f,0.0f,graph...
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: ボタン操作によるグラフィックの描画に関しまして
- 返信数: 37
- 閲覧数: 39114
Re: ボタン操作によるグラフィックの描画に関しまして
>ISLe さん 最初に2段ジャンプの判定を行ってから最初のジャンプ判定を行うんですね。 if (CheckStatePad(configpad.jump) == 1)とelse if (CheckStatePad(configpad.jump) > 0)の 意味がようやく理解できました。ありがとうございます。 ISLe さんのこれまでの説明でキーを押されたときのグラフィックの描画方法も概ね理解することが できました。 これまでにご提供頂いたコードでは設定されたキーが押されていている間(もしくは押されたとき)にモーション番号の テーブルを呼び出し画像を順番に表示させ、端まで行ったらはじめに戻る...
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: ボタン操作によるグラフィックの描画に関しまして
- 返信数: 37
- 閲覧数: 39114
Re: ボタン操作によるグラフィックの描画に関しまして
>ISLe さん、ご返信ありがとうございます。 コードを修正してみましたがやはり2段ジャンプキーが反応しません。2段ジャンプキーを別のキーに 設定したときはちゃんと2段ジャンプができることを確認しています。 下記のコードで他にどこか修正しなけらばならないところがあるのでしょうか。 if (CheckStatePad(configpad.jump) > 0) { switch (state) { case Walk: ch.vx = 4*ch.move; break; case BWalk: ch.vx = -4*ch.move; break; } if (state == Neutral ||...
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: ボタン操作によるグラフィックの描画に関しまして
- 返信数: 37
- 閲覧数: 39114
Re: ボタン操作によるグラフィックの描画に関しまして
>またもや、ご返信のほうが遅くなってしまい申し訳ありません。 ym114さん、ご意見ありがとうございます。ISLe さんもわざわざサンプルコードまでご提供して頂き ありがとうございます。 ISLe さんが提供してくださった今までのコードを元に実際にキャラクター描画処理を含めたものを 下記に記載致します。一応これで対応するキーを押下したときにニュートラル/前進/後退/ジャンプの モーションを行うことができています。 唯一つ2段ジャンプを行う際の操作を、ジャンプ中にDキーを押したときとしていますがこちらは ジャンプするときと同じ上キーに設定してしまうとどうやらうまく処理できないのでとりあえず別の ...
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: ボタン操作によるグラフィックの描画に関しまして
- 返信数: 37
- 閲覧数: 39114
Re: ボタン操作によるグラフィックの描画に関しまして
> ISLeさん、ご返信ありがとうございます。 各操作をフラグとして表現する値を定義して、状態ごとに受け付ける操作をテーブル化します。 最初に状態によって受け付けない操作を弾くようにすれば条件式をシンプルにできます。 各操作をフラグ化として表現する値を定義するとありますが、こちらもグラフィック描画のときと同様に 前進(CheckStatePad(configpad.right)==1)が押されていたらフラグ1 後退(CheckStatePad(configpad.left)==1)が押されていたらフラグ2 ジャンプ(CheckStatePad(configpad.jump)==1)が押されてい...
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: ボタン操作によるグラフィックの描画に関しまして
- 返信数: 37
- 閲覧数: 39114
Re: ボタン操作によるグラフィックの描画に関しまして
>ISLeさん、返信が大変遅くなってしまい申し訳ありません。 平日は忙しくて中々コードの検証がなかなかできないもので。 構造体とポインタをこのように 使用することでテーブルを作成するのですね。 提示して頂いたコードとても参考になりました。 下記はそのコードを元に実際にキーが押されたときに移動と描画の処理部分を 追加したものです。ジャンプモーションも新に追加しています。 完全なコードではないとありましたが普通にコンパイル実行もできモーション中にハングなども 起きず特に問題がないように思われますが・・・どこか不十分なところがあるのでしょうか。 また、現在void calc_ch()にてどのキーが押...
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: ボタン操作によるグラフィックの描画に関しまして
- 返信数: 37
- 閲覧数: 39114
Re: ボタン操作によるグラフィックの描画に関しまして
>せんちゃさん、確かに状態を表す変数を設定することによって分かりやすい構造になっていると思います。 ありがとうございます。下記のコードはせんちゃさんが提示してくださったコードにジャンプ処理を加えてみたものです。 一応ジャンプはキーを押した後、モーションが完了するまではキーを離してもモーションを続行するようにフラグを 立てるなどしていますがこの方法だと前方ジャンプや後方ジャンプなどジャンプキーと同時に別のキーを押している ケースに対応させるためにif文に条件をつらつらと書くというあまりきれいではない処理になってしまいます。 ここら辺をうまくきれいに処理するような方法はないでしょうか。 // 「状...
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: ボタン操作によるグラフィックの描画に関しまして
- 返信数: 37
- 閲覧数: 39114
Re: ボタン操作によるグラフィックの描画に関しまして
>ISLe さん、すみません要素番号のテーブルを利用して、DrawRotaGraphFで画像を描画させる方法がいまいち
理解できていなかったようです。
申し訳ないですがもう少し具体的な方法をお教えいただけないでしょうか。
理解できていなかったようです。
申し訳ないですがもう少し具体的な方法をお教えいただけないでしょうか。
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: ボタン操作によるグラフィックの描画に関しまして
- 返信数: 37
- 閲覧数: 39114
Re: ボタン操作によるグラフィックの描画に関しまして
>softya(ソフト屋)さん、雨ガエルさん、せんちゃさん、ISLeさんご意見ありがとうございます。 雨ガエルさんとISLeさんが参考コードを提示してくださったのでそれを元にプログラミングしてみました。 一応画像の読み込みからキーの押されている状態でのグラフィックの切り替えまでを行っているのですが 結構無理矢理なやり方であまりきれいなコードとはよべないかもしれません。すみません、私の実力不足です。 //画像読み込み void load() { LoadDivGraph( "mydat/dat/img/char/test.png" , 36 , 12 , 3 , 160 , 192 , grap...
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: ボタン操作によるグラフィックの描画に関しまして
- 返信数: 37
- 閲覧数: 39114
ボタン操作によるグラフィックの描画に関しまして
いつもお世話になっております。 ボタン操作によるグラフィックの描画に関しましてご質問がございます。 [新・C言語プログラミングの館]や[龍神録プログラミングの館]にて上下左右キーを 押した際のキャラクター画像の切り替え方法は理解できました。 しかし、こちらで紹介されていたものは1つのモーションに要する画像(キャラチップ)の数が 4枚で表現され1枚の画像に全モーションが納められているものでした。 例えば前方移動:8枚、後方移動:5枚、ジャンプ:10枚などのように1つのモーションに 要する画像の数が違う場合はこちらで紹介されている1枚の画像に1列目は上方向移動 2列目は右方向移動というように1枚の...
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: ポーズメニューの作り方について
- 返信数: 27
- 閲覧数: 39120
Re: ポーズメニューの作り方について
>softya(ソフト屋) さん
softya(ソフト屋) さん、ご意見ありがとうございます。全体的に一度それぞれの要素を構成しなおす
必要がありそうですね。これまでのご意見を参考に一度作り直してみたいとおもいます。
一旦このトピックは解決と致しますがソースが完成したら改めてご意見を伺いたいと思います。
お付き合いくださり、ありがとうございました。
softya(ソフト屋) さん、ご意見ありがとうございます。全体的に一度それぞれの要素を構成しなおす
必要がありそうですね。これまでのご意見を参考に一度作り直してみたいとおもいます。
一旦このトピックは解決と致しますがソースが完成したら改めてご意見を伺いたいと思います。
お付き合いくださり、ありがとうございました。
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: ポーズメニューの作り方について
- 返信数: 27
- 閲覧数: 39120
Re: ポーズメニューの作り方について
>softya(ソフト屋)
シーンの切り替えを管理するものです。SceneMgr()で切り替えたいシーンあるときは
この部分でどのシーンに切り替えるかの命令を発っする司令塔のようなものでしょうか。
シーンの切り替えを管理するものです。SceneMgr()で切り替えたいシーンあるときは
この部分でどのシーンに切り替えるかの命令を発っする司令塔のようなものでしょうか。
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: ポーズメニューの作り方について
- 返信数: 27
- 閲覧数: 39120
Re: ポーズメニューの作り方について
>softya(ソフト屋)さん
なるほど、それではgame_main();で行われている処理を解体して
GameMgr_Update();(更新)部分とGameMgr_Draw();(描画)部分に
分けた後にswitch( func_state )でSceneMgr_Update()を含めて呼び
出すという流れにすれば良いのでしょうか。
なるほど、それではgame_main();で行われている処理を解体して
GameMgr_Update();(更新)部分とGameMgr_Draw();(描画)部分に
分けた後にswitch( func_state )でSceneMgr_Update()を含めて呼び
出すという流れにすれば良いのでしょうか。
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: ポーズメニューの作り方について
- 返信数: 27
- 閲覧数: 39120
Re: ポーズメニューの作り方について
>softya(ソフト屋)さん 私自身ゲームプログラミングの館の内容が曖昧になっていたかもしれません。 少し内容を振り返ってみたいと思います。 あと、管理部(Mgr)を作ったほうが良いとのことですがGameMgr_Update();で画面(シーン)の 更新情報を制御するのは分かるのですがGameMgr_Draw(); は何の制御用に作成するの でしょうか。キャラ画像等の描画処理はゲーム実行処理部のgraph_main();で行うため GameMgr_Draw();では何を描画させるべきなのかうまくイメージができないのですが? そもそもDraw()関数はGameMgr_Update();で得られ...
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: ポーズメニューの作り方について
- 返信数: 27
- 閲覧数: 39120
Re: ポーズメニューの作り方について
> softya(ソフト屋)さん、ソースの方をご確認くださりありがとうございます。 あちこちにDXライブラリ3大処理があるのはいけないことだということを失念しておりました。 現在WinMainにgame_main()を組み込もうとしているのですがやり方的には下記の ような方法でif文を設定してif文が成立したときゲームメインのswitch(func_state)が 実行されるようにすればよいでしょうか。 int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow) { C...
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: ポーズメニューの作り方について
- 返信数: 27
- 閲覧数: 39120
Re: ポーズメニューの作り方について
>softya(ソフト屋)さん、お待たせ致しました
こちらがソースファイルとなります。プログラミングの館でのプログラミングと龍神録での
プログラミングとを何とか組み合わせたようなsoftya(ソフト屋)さんから見たら雑なものと
思われるかもしれませんがご確認の程宜しくお願い致します。
資源管理のほうは後々に画像を設定する際にsoftya(ソフト屋)さんが教えてくださったやり方で
行ってみようと思います。
こちらがソースファイルとなります。プログラミングの館でのプログラミングと龍神録での
プログラミングとを何とか組み合わせたようなsoftya(ソフト屋)さんから見たら雑なものと
思われるかもしれませんがご確認の程宜しくお願い致します。
資源管理のほうは後々に画像を設定する際にsoftya(ソフト屋)さんが教えてくださったやり方で
行ってみようと思います。