検索結果 2636 件

by ISLe
6年前
フォーラム: C言語何でも質問掲示板
トピック: 坂道の当たり判定を作っています。
返信数: 122
閲覧数: 93752

Re: 坂道の当たり判定を作っています。

オフトピック
そろそろXとYで関数を分ける必要もない段階まできてたわけだけども。
そうなると、
めり込みを許容して押し戻すマリオ(ブラザーズ)タイプ

めり込みを許容せず一気に移動のロックマンタイプ
を選択する余地も生まれるのだけども。

マリオ(ブラザーズ)タイプ、ロックマンタイプってのはわたしが勝手に分類して言ってるだけだけども。
by ISLe
6年前
フォーラム: C言語何でも質問掲示板
トピック: 坂道の当たり判定を作っています。
返信数: 122
閲覧数: 93752

Re: 坂道の当たり判定を作っています。

オフトピック
いちおう移動量を使わない方法を書いておきます。

めり込んでいる対象のブロックは分かっているので、ブロックの座標とキャラの座標を比較して、どちらにずらしたほうが良いか決定します。

移動量で決めると、例えばトンネル状のマップを抜けるとき、うっかりジャンプして天井ブロックに触れると、一気に入り口まで戻されるという現象が発生します。
by ISLe
6年前
フォーラム: C言語何でも質問掲示板
トピック: 坂道の当たり判定を作っています。
返信数: 122
閲覧数: 93752

Re: 坂道の当たり判定を作っています。

No.76のkeito94さんが書いたCPlayer::GroundFlagの説明は正しいのでしょうか。 間違った理解でコードをいじるからおかしなことになるのと違いますか。 そもそも、コードに「~となるはず」なんてコメントありえません。 引き算のつもりで足し算書いたのをPCが忖度して直してくれるはずもない。 - + - + - 引数の移動量が復活してますね。 ここにきて、移動量撤廃の方針をひっくり返しますか。 移動量を使わないでどうやって判定するのか?といういちばんのキモを質問しないのですね。 やっとここまで問題点をピンポイントであぶり出せたのに。 いや、別にいいんですよ。 どういう方針を選ぶ...
by ISLe
6年前
フォーラム: C言語何でも質問掲示板
トピック: [c++]ライブラリ導入でコンパイルエラーが起きる場合の原因
返信数: 2
閲覧数: 2565

Re: [c++]ライブラリ導入でコンパイルエラーが起きる場合の原因

ヘッダファイルを混在すると、defineマクロによって予期しない置換が発生することがあります。

この場合、これより前にインクルードされたヘッダファイルのどこかにverifyというマクロが定義されていると思われます。
by ISLe
6年前
フォーラム: C言語何でも質問掲示板
トピック: 坂道の当たり判定を作っています。
返信数: 122
閲覧数: 93752

Re: 坂道の当たり判定を作っています。

オフトピック
クラスやメンバなどの役割りを決め、その役割り通りに且つ役割りを発揮できるように構成を考え、それらを繰り返し練っていく、というのがプログラミングの本質であると思う。
コーディングは、それのアウトプットに過ぎない。
いきなりコーディングという場合でも、過程においてのコーディングは思考を補助する役割りであると思う。

役割りを考えず、役割りに基づいてコードを書いていないのであれば、それはプログラミングではない。
プログラミング言語を使ったラクガキだ。

ラクガキだから楽しいというのはあるかもしれない。
であればラクガキを楽しめばいい。
by ISLe
6年前
フォーラム: C言語何でも質問掲示板
トピック: 坂道の当たり判定を作っています。
返信数: 122
閲覧数: 93752

Re: 坂道の当たり判定を作っています。

CCollisionと言うのは当たり判定の処理を行うクラスです。 それはCCollisionの説明になっていませんね。 CPlayerも当たり判定の処理をしてますよね。CCollisionのメソッドを呼び出しているから。 もっと言えば、このプログラム自体も当たり判定の処理をしてますよね。 そんな中でCCollisionの役割りとは何なんですか? それを説明できないから何でもかんでもCCollisionでやろうとしてCCollisionがないと動かないコードになってしまうのでしょう。 CPlayer::GroundFlagと言うのは、キャラが地上に居るかどうかを管理する変数です。 CPlaye...
by ISLe
6年前
フォーラム: C言語何でも質問掲示板
トピック: 坂道の当たり判定を作っています。
返信数: 122
閲覧数: 93752

Re: 坂道の当たり判定を作っています。

そもそもCCollisionクラスって何なんですか? クラスの役割りを説明できますか? 説明できないのにただいじくり回しているだけならキリがないのでやめましょう。 No.47で書いたように、プレイヤーキャラは、地面に着いているから落下しない、のでなく、(プレイヤーキャラ自身が)落下する状態でないから落下しない、ようにすれば落下しなくなります。 そういう目的に使える情報は既にCPlayerクラスにありますよね。 CPlayer::GroundFlagってありますよね。 CPlayer::GroundFlagって何ですか? これも役割りを説明できますか? CCollisionのアウトプットとして、...
by ISLe
6年前
フォーラム: C言語何でも質問掲示板
トピック: 配列について
返信数: 13
閲覧数: 5679

Re: 配列について

No.1のコードは下記のようにするとC99でも(言及がないという意味で)許容範囲になるのかな。 #include <stdio.h> int main(){   int m[3][3];   int (*p)[3] = m;     for(int i=0; i<3; i++){     for(int j=0; j<3; j++){       p[i][j] = -1;     }   }     printf("%d\n",p[0][3]);   printf("%d\n",p[1][3]);   printf("%d\n",p[1][4]);     return 0; } 配列名を...
by ISLe
6年前
フォーラム: C言語何でも質問掲示板
トピック: 坂道の当たり判定を作っています。
返信数: 122
閲覧数: 93752

Re: 坂道の当たり判定を作っています。

僕の頭の中のコードでは、どう頑張っても、めり込み補正の部分とY座標の部分で移動量に頼ってしまいます。 なので、移動量に頼らないめり込み防止のサンプルコードをください。 いちいち頭で考えなくても、引数の宣言からaddx,addyをまるまる取り除けば、変更が必要な部分はコンパイラが教えてくれますよ。 なお、今上げたコードでは、常に落下しているので、最終的にはキャラが画面外に移動します。 常に落下してしまうのはどうしてなのか、というところに頭を使いましょうよ。 No.47で書いたように、プレイヤーキャラは、地面に着いているから落下しない、のでなく、(プレイヤーキャラ自身が)落下する状態でないから落...
by ISLe
6年前
フォーラム: C言語何でも質問掲示板
トピック: 配列について
返信数: 13
閲覧数: 5679

Re: 配列について

C99より前は、構造体の最後にサイズ1の配列を配置して、バイナリのヘッダ構造に続くデータを読み書きする方法を慣例として認める記述がありましたが、規格としては特に規定はありませんでした。

C99では、構造体の最後のメンバに限り、サイズ指定のない配列の宣言が規格として取り入れられました。

それに合わせて、配列に対しては、厳格となりました。

みけCATさんの指摘は、よく見てもらったら分かると思いますが、6.5.6に対する注釈であり、aに対しては未定義動作となるという記述ですが、pに対しては言及されていません。
by ISLe
6年前
フォーラム: C言語何でも質問掲示板
トピック: 坂道の当たり判定を作っています。
返信数: 122
閲覧数: 93752

Re: 坂道の当たり判定を作っています。

あと、(いまのところ)削らなくていいものまで削ってますね。
by ISLe
6年前
フォーラム: C言語何でも質問掲示板
トピック: 坂道の当たり判定を作っています。
返信数: 122
閲覧数: 93752

Re: 坂道の当たり判定を作っています。

ISLeさんが考えている当たり判定のアルゴリズムに変えてみました。 ずいぶん中途半端に変更したのですね。 これをわたしが考えたと言われるのはかなり抵抗あります。 addxとaddyを0にしないとまともに動作しません。(このステージでは関係ないんですが…。) それはそうでしょうね。 わたしがNo.63で書いた、移動量を何回も加算してしまわないだろうか、と懸念していたことを新たにやらかしてます。 このステージでは関係ない…ほんとうにそうでしょうか。 例えば坂道を登りきる前に坂道の判定が消える、ような気がしますが。 もしかして中途半端なのは、CCollision::GetMoveにある落下に関する...
by ISLe
6年前
フォーラム: C言語何でも質問掲示板
トピック: 坂道の当たり判定を作っています。
返信数: 122
閲覧数: 93752

Re: 坂道の当たり判定を作っています。

現在位置 p 移動量 a パターンA 移動関数() {  aを生成  当たり判定と補正を行う関数(p, a) {   if (p + a がめり込んでいる) {    pをめり込んでいない位置に補正    aをリセット   }   pにaを加える  } } パターンB 移動関数() {  aを生成  pにaを加える  当たり判定と補正を行う関数(p) {   if (p がめり込んでいる) {    pをめり込んでいない位置に補正   }  } } パターンA,Bともに結果は同じです。 パターンAは、補正が必要なときに、pをいったん更新するのを避けられます。ただそれだけです。 pを格納する変数...
by ISLe
6年前
フォーラム: C言語何でも質問掲示板
トピック: 坂道の当たり判定を作っています。
返信数: 122
閲覧数: 93752

Re: 坂道の当たり判定を作っています。

keito94 さんが書きました:出力する引数は、ポインタをつけろというわけですね…。
ここは(いまのところ)結果に影響を与えていないので、単に、引数に与えた値(特に現在座標と移動量)の変化を把握していないのではないかという疑問を補強する意味で指摘しました。
そういう意味では今回の変更においても疑問は一切解消されていません。
keito94 さんが書きました:あと、入れ子化していた部分を修正しました。
階層が1段増えましたね。
これを修正というのでしょうか。
わたしには改悪にしか見えませんが。
by ISLe
6年前
フォーラム: C言語何でも質問掲示板
トピック: [c++]includeファイルを文字列で指定
返信数: 7
閲覧数: 4573

Re: [c++]includeファイルを文字列で指定

開発環境に依存する内容なので開発環境が分からないと回答のしようがないです。

Visual Studioであれば、ソースファイルのプロパティで、ソースファイルごとに指定できます。

ファイル名の干渉を気にするなら、ライブラリ単位でプロジェクトを分けてプロジェクトのプロパティを設定するほうがより自然な形だと思います。
by ISLe
6年前
フォーラム: C言語何でも質問掲示板
トピック: 坂道の当たり判定を作っています。
返信数: 122
閲覧数: 93752

Re: 坂道の当たり判定を作っています。

ISLeさんが指摘した、移動先座標での判定の部分を、移動量を足した判定に変更してみました。 CheckMapの部分は、addxかaddyのどちらかが、0でなければ正しく動作しない仕様となってます。 直しているとき、他に、移動量渡してない関数があることに気付きませんでした? あと、現在座標と移動量のポインタを引数で渡して、当たり判定の結果によって、書き換えたり書き換えなかったりするわけですが、それが3段くらいの入れ子になっているので、書き換えた内容が上書きされるのではないだろうか、とか、移動量を何回も加算してしまわないだろうか、とかのうっかりミスをやらかしてしまっている可能性を考えるとキリがな...
by ISLe
6年前
フォーラム: C言語何でも質問掲示板
トピック: 坂道の当たり判定を作っています。
返信数: 122
閲覧数: 93752

Re: 坂道の当たり判定を作っています。

わたしがVector2の修正を指摘した時点では、それを適用すると上下動は無くなり、坂道に対する当たり判定そのものがなくなったように動作していました。 最新の状態では、上下動は再び発生しています。 原因が異なるであろうため前とは若干挙動が違います。 プレイヤーの移動処理をCPlayerクラスからCCollisionクラスに丸投げしているところで一気に読む気を削がれるのですが、何とか耐えて坂道関連の処理をひととおり読んでみました。 読んでみましたが理解するのは無理でした。 場所によって、移動先の座標で判定してその結果で移動元の座標を更新していたり、移動先の座標を引数で渡してさらに移動量を加えて使っ...
by ISLe
6年前
フォーラム: C言語何でも質問掲示板
トピック: 坂道の当たり判定を作っています。
返信数: 122
閲覧数: 93752

Re: 坂道の当たり判定を作っています。

ログインしたユーザーしか見ることができない場所に書かれた他人の文章を、ログインせず誰でも見ることができる場所に張り付ける行為。非常識ではないですか? No.33と違い、No.51は明らかに無断転載でしょう。 このトピックをログインせずに見るひとからしたら、まったく意味不明ですよ。 そういう脈略のないところがコードにも表れているのと違いますか。 ISLeさん、言い方が悪かったみたいですね…。 今書いているコードがスパゲッティコードになってるのは認めます。 しかし、どうしても、坂道の当たり判定が、今のしか考えられないので、 あなたが考えている方の当たり判定のサンプルコードを提示してください。 No...
by ISLe
6年前
フォーラム: C言語何でも質問掲示板
トピック: 坂道の当たり判定を作っています。
返信数: 122
閲覧数: 93752

Re: 坂道の当たり判定を作っています。

> keito94 さん わたしの書いた文章をちゃんと読みましたか。 文字をなぞるだけでなく、意味を理解しましたか。 「それをもとにして、Collision.cppをプログラム」する必要があったら、それはもうわたしのやり方ではないのです。 「それをもとにして、Collision.cppをプログラム」できるようなサンプルコードをわたしのやり方で書いたら、もはや何も(あるいはほとんど)変更する必要がないのですから、コードを入れ替える一択しかあり得ません。 理解する気がないと思われるところに、説明を補完する役割としてのサンプルコードを提示する意義を感じませんし、そういうサンプルコードはお望みでありま...
by ISLe
6年前
フォーラム: C言語何でも質問掲示板
トピック: 横スクロールアクションでのキャラ移動のリファクタリングについて
返信数: 5
閲覧数: 3185

Re: 横スクロールアクションでのキャラ移動のリファクタリングについて

そもそも、その場所からどかなければならない理由は、Playerにとっては知らなくて良いことです。 Playerのメソッドの中で、マップとのあたり判定を行っていること自体が不自然です。 Playerは、どの方向にどれだけどけばよいか(あるいはそれを求めるために必要十分な情報)を得て、その情報のみに従って移動先を決めればよいというのがわたしの考え方です。 わたしなら、Player::Updateの外で、プレイヤーと壁(やその他の障害物など)の当たり判定を行い、例えばRECT構造体に上下左右のめり込み量を設定。Player::Update内でそれを取得して、挙動を決定するようにします。 既に移動でき...
by ISLe
6年前
フォーラム: C言語何でも質問掲示板
トピック: 坂道の当たり判定を作っています。
返信数: 122
閲覧数: 93752

Re: 坂道の当たり判定を作っています。

そうか、Collision.cppの当たり判定は間違っていたのか…。 わたしが違う方法を使うというだけで、間違っているとは言っておりません。 キャラが壁にハマってしまう わたしが使う方法は既に最初期にお伝えしてます。 壁にめり込んでいるのを補正するなら、ただ壁にめり込んでいるのを補正するだけでいい、というふうなことです。 やり方が違うというだけで、やること自体は変わりません。 keito94さんのいまのコードでは、機能ごとに階層が深く複雑化していく構造です。 機能ごとの依存度が高く、機能の変更や追加が他へ大きく影響するため、そのバランスを取ることに大量の時間を割くことになります。 わたしが使...
by ISLe
6年前
フォーラム: C言語何でも質問掲示板
トピック: 坂道の当たり判定を作っています。
返信数: 122
閲覧数: 93752

Re: 坂道の当たり判定を作っています。

Vector2.cppを修正してやっとまともにデバッグできる状況になるというだけです。
坂道判定に関しては、ここからスタートですよ。
ご自身で取り組んでください。

keito94 さんが書きました:Collision.cppに書かれてある当たり判定のアルゴリズムを残したままでいいので
わたしはこれを残したままのやり方を知りませんし考えたくもないです。
もっとシンプルに実装する方法を知っていますが、根本的に考え方が異なるのです。
#某所に書いたのはそういうことであってコードが正しいとか正しくないとかいうことではない。
by ISLe
6年前
フォーラム: C言語何でも質問掲示板
トピック: 坂道の当たり判定を作っています。
返信数: 122
閲覧数: 93752

Re: 坂道の当たり判定を作っています。

とりあえず、他は現状のままでよいので、Vector2.cppの下記の関数を変更してください。 これでやっとまともに坂道判定にとっかかれると思います。 Vector2& Vector2::operator *=(const float& a) { #if 0 return Vector2(x * a, y * a); #else x *= a; y *= a; return *this; #endif } Vector2& Vector2::operator /=(const float& a) { #if 0 return Vector2(x / a, y / a); #else x /= a...
by ISLe
7年前
フォーラム: C言語何でも質問掲示板
トピック: マップエディタに於ける縮小図について。
返信数: 2
閲覧数: 2332

Re: マップエディタに於ける縮小図について。

②あらかじめMakeScreen()で作成したスクリーン(s)を用意しておいて、マップが編集された直後だけ  sに全体マップ500*500個をDrawExtendGraph()し、GetDrawScreenGraph()でハンドル(h)に格納。  あとは毎フレームDrawExtendGraph(h)で描画する。   → カーソルがリアルタイムで描画できる。   → GetDrawScreenGraph()が重く処理落ちが顕著でマップを連続的に編集できない。 MakeScreen関数の返す値がスクリーン(s)のグラフィックハンドルなので、それを使って描画できます。 GetDrawScreenG...
by ISLe
7年前
フォーラム: C言語何でも質問掲示板
トピック: C++でUTF-8
返信数: 3
閲覧数: 7325

Re: C++でUTF-8

Visual StudioのIDEが文字として認識するのは、ワイド文字(wchar_t)かANSI文字(char)です。 std::stringはANSI文字対応なので、ANSI文字列に変換する必要があります。 文字コードの変換に言語レベルでの標準は無く、下記はWin32 APIを使う場合の例です。 #include <string> #include <iostream> #include <windows.h> int main() { char buf_utf8[] = u8"あいうえお"; wchar_t buf_wc[256];// = L"あいうえお"; char buf_ansi...
by ISLe
7年前
フォーラム: C言語何でも質問掲示板
トピック: キャラが壁にハマってしまう
返信数: 75
閲覧数: 27906

Re: キャラが壁にハマってしまう

あたり判定に条件を加えるのはよろしくない。 押し戻したあともめり込んでいる状態が解消されないと移動できなくなるから。 そういう質問だからそういう理由で起きてるのだろうと予測してコードを読んでみる。 なるほど、めり込み判定をなんとかしろというわけですか。そういや、そうかもしれませんね…。 まずは、めり込んでいる状態を解決してくださいと。 ということは、直前の移動フレームを実装すればいいわけですね。 どうして今まで気づかなかったのだろうか…。 そういうことではないです。 シンプルであるべきと書いたのは、考え方や手順についてです。 キャラが移動して壁にめり込むのを補正するのではなく、ただ壁にめり込...
by ISLe
7年前
フォーラム: C言語何でも質問掲示板
トピック: MinGW gccのlocaleパスについて
返信数: 7
閲覧数: 5127

Re: MinGW gccのlocaleパスについて

Cygwin版はインストールドライブ以外のドライブでもちゃんと日本語になるんですけどね。
Cygwin版というくくりじゃなくて、MinGW-w64ではちゃんとしてるということなのかもしれませんけど。
by ISLe
7年前
フォーラム: C言語何でも質問掲示板
トピック: MinGW gccのlocaleパスについて
返信数: 7
閲覧数: 5127

Re: MinGW gccのlocaleパスについて

Cygwin版のMingw64 gccバイナリを覗くと、"/usr/share/locale"という文字列が見えるので、パス自体はハードコーディングされているみたいです。
そうなるとルートディレクトリがどのように決定されるかという問題になります。

MinGW版はMSYSのmountコマンドでルートディレクトリを変更できるらしいので、もしかしたらMINGW_HOMEじゃなくてMSYS_HOMEが関係するのかもしれません。
by ISLe
7年前
フォーラム: C言語何でも質問掲示板
トピック: キャラが壁にハマってしまう
返信数: 75
閲覧数: 27906

Re: キャラが壁にハマってしまう

オフトピック
読みやすいとは言えなくても、内容が分かりにくいとまでは思わないけれど、わたしは。

あたり判定に条件を加えるのはよろしくない。
押し戻したあともめり込んでいる状態が解消されないと移動できなくなるから。
そういう質問だからそういう理由で起きてるのだろうと予測してコードを読んでみる。

壁に当たってるときに押し戻す量が1.0f固定になってる。
これは圧倒的に足りていないのではないだろうか。

そこを直しても、浮動小数点数だから、計算上は足りてても誤差でハマる可能性が残る。

あたり判定はもっとシンプルであるべきと思う。
by ISLe
7年前
フォーラム: C言語何でも質問掲示板
トピック: MinGW gccのlocaleパスについて
返信数: 7
閲覧数: 5127

Re: MinGW gccのlocaleパスについて

MinGW gccを単体で呼び出す場合の話ですよね。
環境変数MINGW_HOMEを設定すると良いみたいです。
MinGWのデータが「C:\MinGW\bin」にあるなら
MINGW_HOME=C:\MinGW
というふうに。
by ISLe
7年前
フォーラム: C言語何でも質問掲示板
トピック: MinGW gccのエラー日本語化
返信数: 6
閲覧数: 10566

Re: MinGW gccのエラー日本語化

Cygwin版は/usr/share/locale/以下にある言語ファイルを参照しているようです。
不要な言語のものを削除してしまえばかなりの容量を削れるような気がします。

MinGW版の容量が少ないのは言語ファイルがないということなのかもしれません。
#だとしたら切り替えれるという情報は…?
by ISLe
7年前
フォーラム: C言語何でも質問掲示板
トピック: MinGW gccのエラー日本語化
返信数: 6
閲覧数: 10566

Re: MinGW gccのエラー日本語化

ウチはCygwinでパッケージ配布されているMingw64のものを使っているのですが、LANG=ja_JP.UTF-8だけで日本語に切り替わってます。

未確認ですが、Mingwのインストーラーからインストールしたものだと
LANG=ja_JP.SJIS

OUTPUT_CHARSET=sjis
で日本語に切り替わるという情報が見付かりました。
by ISLe
7年前
フォーラム: C言語何でも質問掲示板
トピック: MinGW gccのエラー日本語化
返信数: 6
閲覧数: 10566

Re: MinGW gccのエラー日本語化

日本語化に対する要求レベルはいかほどでしょう。

リンク先の記事は、未翻訳のメッセージを(独自に)翻訳したものに置き換えたいというものです。

英語を日本語に切り替えたいというものであれば、環境変数にLANG=ja_JPを設定すれば切り替わると思います。
by ISLe
7年前
フォーラム: C言語何でも質問掲示板
トピック: WASAPIを使ったPC音録音ソフト
返信数: 23
閲覧数: 16897

Re: WASAPIを使ったPC音録音ソフト

せっかくなのでMicrosoft開発者ブログの記事へのリンクをはっておきます。 この記事では再生デバイスをループバックするシンプルなコマンドプログラムを公開しています。 ・ブログ記事 Sample – WASAPI loopback capture (record what you hear) – Matthew van Eerde's web log ・ソースファイル blog/loopback-capture at master · mvaneerde/blog · GitHub IAudioClientの初期化時にAUDCLNT_STREAMFLAGS_LOOPBACKフラグを指定する...
by ISLe
7年前
フォーラム: C言語何でも質問掲示板
トピック: WASAPIを使ったPC音録音ソフト
返信数: 23
閲覧数: 16897

Re: WASAPIを使ったPC音録音ソフト

オフトピック
AudacityでWASAPIを使うとき、再生デバイス名の後ろにloopbackとあります。
『WASAPI loopback』で検索するとMSDNの記事(英語)やMicrosoft開発者ブログ記事(英語、サンプルコードあり)などが見付かりました。
WASAPIには再生(レンダ)デバイスに対するループバックモードという機能があるそうです。
再生したそのままを取り込めるなら、ステレオミキサーでは避けられない劣化も回避できるのですが、はたして…
by ISLe
7年前
フォーラム: C言語何でも質問掲示板
トピック: 画面外に出た部分の描画内容の消滅
返信数: 38
閲覧数: 12330

Re: 画面外に出た部分の描画内容の消滅

オフトピック
1. WM_ERASEBKGNDで何もせず1を返す
2. WM_PAINTで何もせずBeginPaintとEndPaintだけを呼び出す
をテンプレにしておくとよいと思います。

1.は背景消去処理そのものを無効化します。
2.はWM_PAINTメッセージが連投されないように無効領域を解消します。
by ISLe
7年前
フォーラム: C言語何でも質問掲示板
トピック: Java Swing 画像切り替え
返信数: 2
閲覧数: 3650

Re: Java Swing 画像切り替え

59行目で作成したJLabelは、フレームのContentPaneにセットしていないので、フレームに影響しません。 提示されたURLの記事は、このコードをフレームのContentPaneにセットするように変更してもダメ、ということが書かれています。 また、JLabelを新たに生成してセットすると、JLabelが増えていくことになる(※)ので、画像を切り替えているとは言えません。 ※同じ場所に同じ大きさで配置するといちばん上に表示されたものだけが見えることになります。 無駄にメモリを消費することにもなります。 画像を切り替えたいのであれば、59行目を LabelDayo0.setIcon(Img...
by ISLe
7年前
フォーラム: C言語何でも質問掲示板
トピック: スロットマシーン 作成
返信数: 67
閲覧数: 29184

Re: スロットマシーン 作成

オフトピック
あんどーなつ さんが書きました:主語がないので回答できません。文脈から判断すればいいのでしょうが、あえてしないです。
それをして間違えるともっとあほくさくなるからです。
質問者の人に言うのも筋違いですが、勢いで読み間違えて回答することもありうるので、
その時は許してあげてください。
この回答が既にあほくさいと思いますけどね。
どうしてNo.40に対する質問だというのが分からないんですかね。
どうしてあんどーなつさんが「回答できません」って言い切ってしまうんですかね。

「回答できません」って言い切られてしまったあとに、他の回答者がどんな顔して回答したらいいんですかね。
by ISLe
7年前
フォーラム: C言語何でも質問掲示板
トピック: スロットマシーン 作成
返信数: 67
閲覧数: 29184

Re: スロットマシーン 作成

人間の考えている事なんて分からないことだらけだと思いますが、事の顛末とこの掲示板にいつからいたのかということから考えて、ISLeさんのほうが正しそうだとは思います(逆に言うとNo.7->No.13->No.18とかのことはいまださっぱりわからないし、わかるときが来ないと分からないと思ってます)。 わたしは正しいか正しくないかという話はしてません。 根拠を求めているだけです。 だから、わたしはわたしの根拠を説明しました。 それよりも私が不可解だと思っていたのは、私のつぶやきのような発言にISLeさんが食って掛かったかのように私の方で感じたことです。おそらく私の方で社会一般の人たちがスロットに関...
by ISLe
7年前
フォーラム: C言語何でも質問掲示板
トピック: スロットマシーン 作成
返信数: 67
閲覧数: 29184

Re: スロットマシーン 作成

No.13のコードは、No.7で書いたリールの末尾と先頭をまたがる対策が、スマートに解決できるコードになってた。 このコードがすんなり出てくることに、スロットを作ることに対して手慣れていると感じた。 そこが出題者の指示であろうことは間違いないと思った。 そこから、質問者さんのフィルターを通す前の指示の内容は 「配列の部分はもう『これでいい』からあとの部分を考えろ」 というものであろうと想像した(No.18)。 質問者の立場に立つ、あるいは寄り添うというのは、鵜呑みにすることとは違うと考える。 「実行しようとしたらわけのわからないエラーが出て実行できません」 という質問に わけのわからんエラー...
by ISLe
7年前
フォーラム: C言語何でも質問掲示板
トピック: スロットマシーン 作成
返信数: 67
閲覧数: 29184

Re: スロットマシーン 作成

オフトピック
あんどーなつ さんが書きました:言っていないです。
質問者の人が自分で思いついた質問ではなくて、他の人が出した課題だと思ったので、その人の問題の出し方が雑だという意味です。
質問者さんが書いた文章から、どうやったら、出題者が出した問題の『完全な』内容が分かるのでしょうか。
質問者さんのフィルターを通した結果なのだから、質問者さんに雑だと文句を言っているに等しい、ということが理解できませんか。

あるいは、もしかして、あんどーなつさんは本物のエスパーですか?
出題者が出した問題の『完全な』内容が分かってておっしゃっているのだとしたら申し訳ないです。ごめんなさい。
by ISLe
7年前
フォーラム: C言語何でも質問掲示板
トピック: スロットマシーン 作成
返信数: 67
閲覧数: 29184

Re: スロットマシーン 作成

オフトピック
あんどーなつ さんが書きました:
ISLe さんが書きました:
ゆうtyt さんが書きました:コードはこれでいいと言われました。
リールを表現する配列に関してはこうしろ、って言われただけなんじゃなかろうか。
コードがだめだったら、コードがだめって言いますよね。
それとも完成しているかどうかは察しろっていうタイプの先輩ですか?
質問者さんの書いている文章は、質問者さんのフィルターを通して書かれた文章なのだから、フィルターを通す前の内容を想像してみました。
質問者さんの立場になって考えた結果です。
あんどーなつ さんが書きました:そもそも質問自体雑ですよね。
初心者は質問するなと言ってる?
by ISLe
7年前
フォーラム: C言語何でも質問掲示板
トピック: スロットマシーン 作成
返信数: 67
閲覧数: 29184

Re: スロットマシーン 作成

ゆうtyt さんが書きました:コードはこれでいいと言われました。
リールを表現する配列に関してはこうしろ、って言われただけなんじゃなかろうか。
by ISLe
7年前
フォーラム: C言語何でも質問掲示板
トピック: スロットマシーン 作成
返信数: 67
閲覧数: 29184

Re: スロットマシーン 作成

... 現に問題文を読んでも質問者さんはその意図が理解できなかったので配列を実装しなかったじゃないですか。 パチスロ雑誌やインターネットにはパチスロの図柄パターンが載っていますけど、そういうことが頭に入っていない人が問題文を読んでも理解できないじゃないかと言いたかったわけです。 もしもこれが、パチスロ製造会社の新人研修で出されたお題だったとしても、ですか? 想像をぶつけても意味ないですが、はっきりしているのは「スロットを作る」ことが求められているということ。 だったら、質問者にも回答者にも「スロットとは何か」を理解する・理解していることが求められるのではないでしょうかね。 スロットと関係なけ...
by ISLe
7年前
フォーラム: C言語何でも質問掲示板
トピック: ソフトウェア開発のモチベーションを維持するには?
返信数: 4
閲覧数: 3377

Re: ソフトウェア開発のモチベーションを維持するには?

モチベーションが下がって100%に到達できないのなら、最初から150%とか200%を目標にしたら良いのではないでしょうか。 わたしは例え仕事であろうとも、仕様通りに完成させる以外に、いくつかの目標を設定します。 その目標というのは、ほとんどの場合、作業の自動化とかコードのモジュール化です。 次に似たようなものを作るときに、前に作ったものを流用する。 それを繰り返すことで、どんどん自分の好きなこと・やりたいことをやる時間の割合が増えていきます。 自分の好きなこと・やりたいことをやっていたらモチベーションが下がることはありません。 わたしの場合、やりたいことができないというのは、外的な要因しかなく...
by ISLe
7年前
フォーラム: C言語何でも質問掲示板
トピック: スロットマシーン 作成
返信数: 67
閲覧数: 29184

Re: スロットマシーン 作成

おっと、コーディングする上で必要なことはamehiruneさんが示してくれましたね。
by ISLe
7年前
フォーラム: C言語何でも質問掲示板
トピック: スロットマシーン 作成
返信数: 67
閲覧数: 29184

Re: スロットマシーン 作成

まず、スロットの仕様について考える必要があるでしょう。 スロットというのは、リールに描かれた図柄が回転し、その後、停止した図柄の配置によってビンゴを判定するものです。 提示された条件から、要素数100個の配列というのが1つのリールということになるでしょう。 ビンゴ判定は、リールの位置で決まるので、100個の要素のうちどれが先頭となるかをランダムに選択し停止位置としましょう。 それをリール3本分繰り返しましょう。 停止位置の先頭から、3つの要素を比較してビンゴの判定をしましょう。 3つの要素が最後尾と先頭にまたがる可能性がありますので、対策を考えてください。 要素数100個の配列に0~9を順番に...
by ISLe
7年前
フォーラム: C言語何でも質問掲示板
トピック: Java Applet について
返信数: 17
閲覧数: 6719

Re: Java Applet について

トピックのタイトルが「Java Applet について」なので、ページに埋め込まれた形でプログラムが実行されることを希望されているという前提で回答しているのですが、質問者さんのおっしゃる「Webで公開」の意味がそうではない可能性を感じます。

質問者さんのおっしゃる「Webで公開」の意味は次のどれですか?
#No.13にあるようなゲームをJavaで作って公開するとした場合
1. ゲーム画面がページの一部となるように、Javaアプレットを埋め込んで実行する
2a. 単純なリンクで、ユーザーがダウンロードして実行できるようにする
2b. JWS経由で、ユーザーがダウンロードして実行できるようにする
by ISLe
7年前
フォーラム: C言語何でも質問掲示板
トピック: Java Applet について
返信数: 17
閲覧数: 6719

Re: Java Applet について

javax.swing.JAppletを継承すれば、Swing版アプレットになります。
Javaアプレットでは、SwingでもAWTでもふつうに使えます。
新しくウィンドウを開くこともできます。
SwingはJREに含まれているのでEclipse不要です。

ただし、起動できれば。

HTMLに埋め込んで実行できるかどうかは、別の話です。

EclipseでアプレットをデバッグするときHTMLは不要です。
デバッグ対象としてJavaアプレットを選択すればEclipseが作ったウィンドウの中で動きます。
ウィンドウサイズなどはデバッグ構成から設定してください。
by ISLe
7年前
フォーラム: C言語何でも質問掲示板
トピック: 60FPSでない
返信数: 21
閲覧数: 9981

Re: 60FPSでない

これまでの説明で分かるかもしれませんが、固定フレームレートで設計されたプログラムを、Unityに載せたいといったときに使えます。
というか、そういう目的のために開発したものです。

むしろ、ここ数年の世の中の変化で、やっと本領発揮できるようになりました。

Unityではデルタタイムをそのまま使わなければならないのか?
いままでのやり方を捨てなければいけないのか?
といった疑問に対しては「そんなことはない」と断言できます。
by ISLe
7年前
フォーラム: C言語何でも質問掲示板
トピック: 60FPSでない
返信数: 21
閲覧数: 9981

Re: 60FPSでない

少なくともわたしが見たことのある、ネット上のFPS制御コードは、余った時間待つ、ということしかしません。 リフレッシュレートが60Hzの場合、1フレームの時間は16.66...msですが、リフレッシュレートというハードウェアに合わせたら、1msでも10msでも溢れたら2フレーム分の時間を消費するのが現実です。 ところが、余った時間待つだけだと、溢れた分を積み上げて1フレーム分溜まった時点で1フレーム消費です。 VSYNCが有効な、あるいは実行速度に余裕のある環境でしかテストしていないとなるとほとんどその違いに気付けません。 その違いにより、例えばスクロール型のシューティングゲームでステージ最後...
by ISLe
7年前
フォーラム: C言語何でも質問掲示板
トピック: Java Applet について
返信数: 17
閲覧数: 6719

Re: Java Applet について

JavaのGUIプログラムをWEB上に公開する良い方法はないでしょうか?(出来れば簡単なのが良いな( ^ω^)・・・) 例えば、わたしのブログで公開しているJavaアプレットの場合、例外サイトリストに http://isle.cocolog-nifty.com/ を追加することで実行が可能になります。 指定したURIの元に配置されたファイルだけが実行可能なので、わたしがブログ用に配置したものに限られることになります。 課題ということですし、このような方法がいちばん簡単だと思います。 Microsoft Edgeで見ると、アプレットが表示されるところそのものが存在しないふうに表示されますけどね...
by ISLe
7年前
フォーラム: C言語何でも質問掲示板
トピック: Java Applet について
返信数: 17
閲覧数: 6719

Re: Java Applet について

Javaアプレットはたびたび脆弱性を突かれ、悪意のあるプログラムの侵入に利用されてきました。 そして、セキュリティ強化のため、自動的には実行されないように仕様が変更されました。 コントロールパネルのプログラムカテゴリにある「Java」を開き、セキュリティタブにある例外サイトリストに、URIを追加することで、デジタル署名されていないアプレットでも起動できるようになります。 その上で、起動の際には警告ダイアログが表示され、確認のためにボタンを押して続行する必要があります。 ただし、No.3の例ですと、ローカルディスクを指定することなるため、たいへんな危険をともないます。 これを実行できるようにする...
by ISLe
7年前
フォーラム: C言語何でも質問掲示板
トピック: 60FPSでない
返信数: 21
閲覧数: 9981

Re: 60FPSでない

オフトピック
Egg さんが書きました:ISLeさんのフレームレートを維持する実装というものがFPSに依存しない実装のことならば
1フレームの時間を実数で保持して、移動距離にかけるだけです。
仮定表現を含めさえすれば
「ISLeさんのフレームレートを維持する実装というものが、1フレームの時間を実数で保持して、移動距離にかけるだけ(のこと)です。」
という文章を事実とすることができるようなこの掲示板の風潮ってなんなんでしょうね。
by ISLe
7年前
フォーラム: C言語何でも質問掲示板
トピック: 60FPSでない
返信数: 21
閲覧数: 9981

Re: 60FPSでない

他人が立てたトピで、本旨とはまったく関係のないことで、過去ログも見ないで勝手な解釈をするような他人の話を聞かない相手に続けるのはとても気が引けるのですが、他所でわざわざお望みということを表明されたのでお返事します。 ISLeさんのフレームレートを維持する実装というものがFPSに依存しない実装のことならば 1フレームの時間を実数で保持して、移動距離にかけるだけです。 「FPSに依存しない実装のことならば」 違います。 勝手に別のものを仮定しないでください。 Eggさんが自らの主張として書くならばわたしには関係のないことなのでかまいませんが、それがわたしの言い出したことと誤解を招くふうに書かないで...
by ISLe
7年前
フォーラム: C言語何でも質問掲示板
トピック: レイを使ったときの衝突判定について
返信数: 20
閲覧数: 7897

Re: レイを使ったときの衝突判定について

変換行列のキャッシュの有無は別として、考え方ですが

基準の物体のローカル座標系で表されたレイに対して
基準の物体のワールド変換を正方向
対象の物体のワールド変換を逆方向
と順に適用することで
対象の物体のローカル座標系に変換できます。
by ISLe
7年前
フォーラム: C言語何でも質問掲示板
トピック: 初歩的なポインタの間接代入だとはおもうんですが、、、、
返信数: 18
閲覧数: 5574

Re: 初歩的なポインタの間接代入だとはおもうんですが、、、、

問題の解き方としてはNo.4の説明で概ねあっていると思います。 変数iを使うとき、iという名前が、その変数の「値を保持する場所」を差す何か、と1対1であり直結している。 だから、変数名を使っているあいだはその何かを意識する必要がない。 アドレス演算子を使うと、その変数の「「値を保持する場所」を差す何か」、を取り出すことができる。 その何かは、ポインタ(変数)に代入できる。 「「値を保持する場所」を差す何か」を持っているポインタ変数に間接参照演算子を使うと、「値を保持する場所」にアクセスする手段を得られる。 変数の場合「値を保持する場所」だけど、実体を伴う『定義』と置き換えれば、配列や関数なども...
by ISLe
7年前
フォーラム: C言語何でも質問掲示板
トピック: レイを使ったときの衝突判定について
返信数: 20
閲覧数: 7897

Re: レイを使ったときの衝突判定について

基準の物体から、レイを求めている処理もおかしいのでは。
基準の物体に対する変換行列は既に計算済みであろうはずなので
それを使って計算すべきかと思います。
by ISLe
7年前
フォーラム: C言語何でも質問掲示板
トピック: レイを使ったときの衝突判定について
返信数: 20
閲覧数: 7897

Re: レイを使ったときの衝突判定について

レイに対して、オブジェクトの変換行列の逆行列を掛けてから当たり判定をするとうまくいくと思います。
by ISLe
7年前
フォーラム: C言語何でも質問掲示板
トピック: XNAについて
返信数: 4
閲覧数: 3497

Re: XNAについて

XNA Game Studio自体はゲーム開発に必要なものが揃っていて気軽に始められるため人気があったと思います。

開発環境という点では、XNA Game Studioで使えた便利なAPIが、現在DirectX Tool Kitとしてオープンソースで公開されてます。
残念ながら、C++用しか用意されていないようです。
Visual StudioのDirec3Dを使うプログラム用の追加テンプレートも同じ人が公開してたはず。
by ISLe
7年前
フォーラム: C言語何でも質問掲示板
トピック: 角の二等分線について。
返信数: 3
閲覧数: 2575

Re: 角の二等分線について。

Yuyu さんが書きました:(外側の場合はπを足せば内側になりますが、外側なのか内側なのかの判断をつけるにはどうすれば良いのでしょうか?)
41行目と42行目のあいだに
if (((B.x - A.x)*(B.x - C.x)+(B.y - A.y)*(B.y - C.y)) < 0) BisectorAngle += DX_PI;
を追加してください。

内積を利用して、鋭角か鈍角かを判定し、鈍角の場合は180度回転させます。
ゲームの当たり判定などでよく使われる手法ですので、外積と合わせて使い方を知っておくと良いと思います。
by ISLe
7年前
フォーラム: C言語何でも質問掲示板
トピック: 60FPSでない
返信数: 21
閲覧数: 9981

Re: 60FPSでない

余談かもしれませんが、安定したフレームレートのためということで補足しておきます。 配布を前提としない(自分とこでだけ動けばいい)場合、ウェイト処理は必要ありません。 モニタのリフレッシュレートが60Hzであれば(あるいはグラフィックドライバの設定で60Hzに設定すれば)、 DXライブラリのデフォルト動作であるVSYNC同期で自動的に60FPSになります。 最近はグラフィックドライバの設定で、アプリケーションの設定を強制的に上書きできるようになっていますので 配布を前提とするなど環境を特定できない場合は、 VSYNC同期の有無に依存せず、リフレッシュレートにも依存しない 方法でメインループを実装...
by ISLe
7年前
フォーラム: C言語何でも質問掲示板
トピック: 60FPSでない
返信数: 21
閲覧数: 9981

Re: 60FPSでない

もっと大きな問題を見付けました。

DX.SetDrawScreen(DX.DX_SCREEN_BACK);
をDxLib_Init関数のあとに移動してください。
参考にしたというサイトは正しく書いてありますね。

まとめると
裏画面描画でないと、極端に処理が重くなる場合があります。
VSYNC同期を切ると、ウェイト処理に対して正確なフレームレートになりますが、テアリングが発生します。
環境や設定に影響されない(あるいはそれを考慮に入れつつ)精度の高いフレームレートを実現するには、さらなる工夫が必要であり、その方法はこの掲示板の過去ログにあります。
by ISLe
7年前
フォーラム: C言語何でも質問掲示板
トピック: 60FPSでない
返信数: 21
閲覧数: 9981

Re: 60FPSでない

DxLib_Init関数を呼ぶ前に
DX.SetWaitVSyncFlag(DX.FALSE);
をいれたらある程度安定するのではないでしょうかね。

もっと精度を高めたいというのであれば、さらなる工夫が必要です。
それが何かというのはこの掲示板の過去ログを検索すれば見付かるでしょう。
by ISLe
7年前
フォーラム: C言語何でも質問掲示板
トピック: セカンダリバッファがLockできません
返信数: 2
閲覧数: 1766

Re: セカンダリバッファがLockできません

49行目は
LPDIRECTSOUNDBUFFER pDSBuffer;
と宣言した変数に
hr = pDS->CreateSoundBuffer( &DSBufferDesc,&pDSBuffer,NULL );
というふうに取得するのが正しいのではないでしょうか。
by ISLe
7年前
フォーラム: C言語何でも質問掲示板
トピック: インスタンスのパラメータを監視する方法はありますか?
返信数: 4
閲覧数: 2851

Re: インスタンスのパラメータを監視する方法はありますか?

具体的には、敵キャラクターのインスタンスのメソッド(キャラクタークラスの抽象メソッド をオーバーライド)に、敵キャラクターのパラメータx,yが引き継がれているか を確認したいのです。デバッグの停止中に変数にカーソルを重ねると数値が表示されますが、 この場合、それはできませんでした。 ソースコード上だと、狭い範囲でしか確認できませんが ウォッチウィンドウに変数を追加すれば、もっと広い範囲で変数の内容を確認できると思います。 あと、デバッグ出力するなら、わたしは、OutputDebugString関数をお勧めします。 リモートデバッグにも対応しますし、 DebugViewなどを利用すれば特定の出...
by ISLe
7年前
フォーラム: C言語何でも質問掲示板
トピック: ■□MIDIDataライブラリについて質問です□■
返信数: 6
閲覧数: 3784

Re: ■□MIDIDataライブラリについて質問です□■

ドキュメントを読む限りはこんな感じでしょうか。 ※コンパイル及び動作確認してません。 #include <stdio.h> #include <MIDIData.h> int main(void) {     MIDIData* pMIDIData;     MIDITrack* pMIDITrack;     /* MIDIデータの生成(フォーマット1,トラック数3,TPQNベース,120) */     pMIDIData = MIDIData_Create(MIDIDATA_FORMAT1, 3, MIDIDATA_TPQNBASE, 120);     /*--------------...
by ISLe
7年前
フォーラム: C言語何でも質問掲示板
トピック: コンパイル時の挙動の違いについて
返信数: 6
閲覧数: 4164

Re: コンパイル時の挙動の違いについて

ARMプロセッサの、整数によるゼロ除算に関する技術文書
http://infocenter.arm.com/help/index.js ... DDJEA.html
by ISLe
7年前
フォーラム: C言語何でも質問掲示板
トピック: C# 行数を表示したい。
返信数: 17
閲覧数: 7209

Re: C# 行数を表示したい。

オフトピック
dic さんが書きました:C#で開発をしていると、エラー29行目がなんたらとでますが、
かんじんの行数がIDEに表示されていないので、とてもエラー箇所を探すのに苦労します。
行番号が表示されていないと探すのに苦労するというのは、
エラーメッセージをダブルクリックすればIDEがそこを開いてくれる
ということを知らないのだろうかと思うのだけれど、
実際のところどうなんだろう。

まあ「行数を表示したい」という質問なのに関係ないこと書くと管理人さんその他から非難されるからね。
だったら、質問書くときに理由を書く必要もないよね。
by ISLe
7年前
フォーラム: C言語何でも質問掲示板
トピック: 使われていない関数のメモリの無駄
返信数: 14
閲覧数: 6850

Re: 使われていない関数のメモリの無駄

ある程度大きな規模になると、キャラクターの画像や動き、ステージやそこにあるギミックなどは、プログラマではなく、デザイナと呼ばれるひとが作ります。
市販のものや独自に制作したオーサリングソフトを使ってデータを作り、そのデータをそのまま、あるいはさらに独自の形式に変換して、必要に応じて読み込みます。

千差万別で多彩な動きが、いくつかの単純な仕組みだけでできているということに気付けるかどうか。
既存のゲームを遊びながらでも観察し想像することはできるかと思います。
by ISLe
7年前
フォーラム: C言語何でも質問掲示板
トピック: 解凍・圧縮ソフト【雑談】
返信数: 7
閲覧数: 4811

Re: 解凍・圧縮ソフト【雑談】

Preiadesのトップページの下のほうには、Windowsに標準で付いている解凍機能を使うのもお勧めと書いてありますよ。
by ISLe
7年前
フォーラム: C言語何でも質問掲示板
トピック: C# 行数を表示したい。
返信数: 17
閲覧数: 7209

Re: C# 行数を表示したい。

エラーメッセージから直接ジャンプする機能もありますよね。
by ISLe
7年前
フォーラム: C言語何でも質問掲示板
トピック: curses動作不良
返信数: 5
閲覧数: 2374

Re: curses動作不良

getcharは標準ライブラリ関数(あるいはマクロ)なので、cursesライブラリを使ったモード変更が影響するかどうか保証がないですが、
getch関数はcursesライブラリの関数なので、cursesライブラリを使ったモード変更は適用されると期待できます。
by ISLe
7年前
フォーラム: C言語何でも質問掲示板
トピック: curses動作不良
返信数: 5
閲覧数: 2374

Re: curses動作不良

えいえい さんが書きました:これはデフォルトでcookedモードになっているのかわからないし
getchar( )でバッファリングされているかもわからないなど、、、
Ubutuの端末が問題なのか、cursesのバージョンが問題なのか、
先に進みにくい状態になってしまってます。
まずはgetcharの替わりにgetchを使うべきかと。
by ISLe
8年前
フォーラム: C言語何でも質問掲示板
トピック: アクティブな画面より手前にある仕組みについて
返信数: 3
閲覧数: 2323

Re: アクティブな画面より手前にある仕組みについて

C言語勉強して3年 さんが書きました:Javaのswingプログラムだとどう描けますか?
setAlwaysOnTopメソッドを引数trueで呼び出すと常に手前に表示されるようになります。
Windowクラスに実装されているメソッドなのでAWTのFrameやDialogでも使えます。
by ISLe
8年前
フォーラム: C言語何でも質問掲示板
トピック: JavaFXでの画面解像度の変更
返信数: 2
閲覧数: 2333

Re: JavaFXでの画面解像度の変更

画面解像度の設定というのはこういうことですかね。 import javafx.application.Application; import javafx.stage.Stage; import javafx.scene.Scene; import javafx.scene.Group; import javafx.scene.canvas.Canvas; public class Test extends Application { public static void main(String[] args) { launch(args); } @Override public void s...
by ISLe
8年前
フォーラム: C言語何でも質問掲示板
トピック: JavaFXでの画面解像度の変更
返信数: 2
閲覧数: 2333

Re: JavaFXでの画面解像度の変更

裏画面処理については
1. java.awt.BufferedImageでイメージを生成
2. 1.で生成したイメージからjava.awt.Graphicsコンテキストを取得して描画
3. 1.で生成したイメージをjavafx.embed.swing.SwingFXUtilsを利用してjavafx.scene.image.Imageに変換
4. 3.で生成したイメージをjavafx.scene.canvas.GraphicsContext.drawImageで任意の大きさで描画
という方法になるようです。
by ISLe
8年前
フォーラム: C言語何でも質問掲示板
トピック: この半透明の処理で思った通りに出力するにはどうしたらいいでしょうか?
返信数: 2
閲覧数: 1615

Re: この半透明の処理で思った通りに出力するにはどうしたらいいでしょうか?

DXライブラリの公式サイトで
『DXライブラリミニテクニック』
『乗算済みαのすすめ』
と辿った先にあるページに書かれていることを試してみてください。
by ISLe
8年前
フォーラム: C言語何でも質問掲示板
トピック: DirectX11で深度バッファが機能しない
返信数: 5
閲覧数: 4868

Re: DirectX11で深度バッファが機能しない

toryu さんが書きました:2つの四角形ポリゴンを前後させてZ比較が行われているかどうかを検証するものです。
現状はZ座標をどれだけ動かしても前後が入れ替わりません。
それは、Zバッファの機能であって、ステンシルバッファの機能ではないと思うのですが。

深度バッファをステンシルバッファと混同していませんか?
by ISLe
8年前
フォーラム: C言語何でも質問掲示板
トピック: DirectX11で深度バッファが機能しない
返信数: 5
閲覧数: 4868

Re: DirectX11で深度バッファが機能しない

こちらの環境でビルドできないのであてずっぽうですが
深度バッファテクスチャに対して、Shader Resource Viewを生成する必要があるような気がします。
by ISLe
8年前
フォーラム: C言語何でも質問掲示板
トピック: 文字入力
返信数: 3
閲覧数: 2144

Re: 文字入力

いちばん手間が掛からないのは
scanf("%c", &ch);

scanf(" %c", &ch);
/* %の前にスペース */
にすることじゃないかな。
by ISLe
8年前
フォーラム: C言語何でも質問掲示板
トピック: QTを使用して,リアルタイムに数字を表示したい
返信数: 3
閲覧数: 6281

Re: QTを使用して,リアルタイムに数字を表示したい

ラベルを継承とは
かなりレベルアップしてきましたね。
by ISLe
8年前
フォーラム: C言語何でも質問掲示板
トピック: QTを使用して,リアルタイムに数字を表示したい
返信数: 3
閲覧数: 6281

Re: QTを使用して,リアルタイムに数字を表示したい

pocket さんが書きました:何かアドバイスや解決策等があれば,ぜひ教えていただきたいです.
このような目的には
タイマーを用いてタイマーイベントのコールバックでコンポーネントを更新するのが王道かと思います。
#リアルタイムとは

Qtでタイマーを使う方法については
検索すればサンプルコードがすぐに見付かると思います。


最後にセットした数値しか表示されないのは
23行目でQtがGUIとして動き始めるからで
GUIというのはラベルに文字列をセットしたらすぐに表示されるというものではないです。
by ISLe
8年前
フォーラム: C言語何でも質問掲示板
トピック: DirectXでのUIの作成について
返信数: 1
閲覧数: 2354

Re: DirectXでのUIの作成について

座標変換済み頂点というのを使うと、二次元座標平面にそのままポリゴンを貼れます。
by ISLe
8年前
フォーラム: C言語何でも質問掲示板
トピック: OpenGLで3Dモデルが表示されない
返信数: 3
閲覧数: 2731

Re: OpenGLで3Dモデルが表示されない

xファイル関連では
そのままのスケールだと小さすぎて見えない
というのがよくあることだったような気がします。
by ISLe
8年前
フォーラム: C言語何でも質問掲示板
トピック: デバイスロストを故意に起こす方法
返信数: 10
閲覧数: 5725

Re: デバイスロストを故意に起こす方法

なかなかデバイスロストが起こらないので四苦八苦しています。 デバイスロストは他のプログラムがデスクトップを排他的に使用することで発生すると思います。 フルスクリーンで動作するゲームソフトとか。 Direct3Dのサンプルプログラムでも代用できるかと。 デバイスロストというのはデスクトップ画面の取り合いで発生します。 スワップチェーンとかのビデオメモリ内の見えない部分も含みますが。 Direct3D10からはデバイスロストがほとんど発生しない仕組みになったので、 その影響でDirect3D9でも発生しにくくなっているかもしれません。 やっと、エラー戻り値を確認できました。(深夜に起きた模様) ...
by ISLe
8年前
フォーラム: C言語何でも質問掲示板
トピック: MakeGraphで作った画像に透過色を指定したい
返信数: 8
閲覧数: 5035

Re: MakeGraphで作った画像に透過色を指定したい

前提として、MakeScreenは使わないで、ということでしょうか。
by ISLe
8年前
フォーラム: C言語何でも質問掲示板
トピック: OpenGLでポリゴンが表示されない
返信数: 2
閲覧数: 3482

Re: OpenGLでポリゴンが表示されない

裏画面に描いた内容を表画面に転送(あるいは入れ替える)glfwSwapBuffers関数を呼び出さないと表示されないと思います。
#リンク先には両方とも書いてあります。

あと、提示された内容だと、背景色と点以外の描画色が同じなので、正しく動いても見えないです。
by ISLe
8年前
フォーラム: C言語何でも質問掲示板
トピック: デバイスロストを故意に起こす方法
返信数: 10
閲覧数: 5725

Re: デバイスロストを故意に起こす方法

MSDNのIDirect3DDevice9::TestCooperativeLevelのページには IDirect3DDevice9::TestCooperativeLevelがD3DERR_DEVICELOSTを返したらIDirect3DDevice9::Resetを試行できる IDirect3DDevice9::Resetが成功したら必要なリソースを復元して通常の処理を再開できる と書いてあります。 IDirect3DDevice9::Resetに一度失敗すると、成功するまで IDirect3DDevice9::TestCooperativeLevelはD3DERR_DEVICENOTRE...
by ISLe
8年前
フォーラム: C言語何でも質問掲示板
トピック: [C++]タイルマップのクラス設計を見てほしいです
返信数: 36
閲覧数: 18554

Re: [C++]タイルマップのクラス設計を見てほしいです

自分の中での変化(ブレイクスルー)に気付くことそのものが滅多にない貴重な経験だと思います。
それをお手伝いできたことをとても嬉しく思います。

考え方の道筋を示すためにサンプルプログラムを書きましたが、
実装に関しては正解というものはなく、
わたし自身も日々勉強です。
回答することは日頃の経験や考えを改めてまとめる良い機会になりました。
お礼申し上げます。
by ISLe
8年前
フォーラム: C言語何でも質問掲示板
トピック: [C++]タイルマップのクラス設計を見てほしいです
返信数: 36
閲覧数: 18554

Re: [C++]タイルマップのクラス設計を見てほしいです

書き忘れてましたが、
No.32のレイヤーマップのサンプルプログラムのイメージリストを使う場面で、
今回は、
イメージリストに描画メソッドを用意するのではなく、
イメージリストからイメージを取得して、そのイメージで描画するという方法を使いました。

ここもあえてこんな形をとってみました。

このプログラムでは、イメージリストに登録したイメージ配列(vector)を参照していますが
ここでもやりたいように何でもできるよ、というメッセージを込めました。
by ISLe
8年前
フォーラム: C言語何でも質問掲示板
トピック: [C++]タイルマップのクラス設計を見てほしいです
返信数: 36
閲覧数: 18554

Re: [C++]タイルマップのクラス設計を見てほしいです

レイヤー状のマップのサンプルプログラムを作ってみました。 タイルマップの描画周りは、マップデータの形式は何でもかまわない、 ということを示すために、あえてテンプレートを使ってみました。 きわめて簡易な必要最小限のものですがステージ管理オブジェクトも入れてみました。 キャラを実装しててもしてなくてもこんなふうにイベントのテストができると どこからでもコードを書き始められるし、デバッグにも便利です。 理解したいなら、実際に動かして、コードの流れを追ってみてください。 実装重視の考え方をしていると、あっちこっちに飛ぶので、わけが分からないかもしれません。 でも、設計図だときれいに上から下に三角形を描...
by ISLe
8年前
フォーラム: C言語何でも質問掲示板
トピック: [C++]タイルマップのクラス設計を見てほしいです
返信数: 36
閲覧数: 18554

Re: [C++]タイルマップのクラス設計を見てほしいです

階層の概念を持ち込まずに、複数レイヤ分のマップデータを作れるでしょうか? 自由なマップデータの実装とはどんな感じですか。<vector>でしょうか。 階層の概念を持ち込まないのではなくて、インスタンスベースで考えましょうっていうことなんですけどね。 考えましょうってところは、構造化プログラミング的な抽象化だと思ってもらえれば。 自由ってのは、そのまんまの意味で自由ってことですよ。 マップデータは配列でもいいのですよ。自由ですから。 タイルマップが、マップデータが配列であることに依存する のは良くないという話です。 mobaさんは、 タイルマップをレイヤーにしたい レイヤーを配列で実装しよう ...
by ISLe
8年前
フォーラム: C言語何でも質問掲示板
トピック: [C++]タイルマップのクラス設計を見てほしいです
返信数: 36
閲覧数: 18554

Re: [C++]タイルマップのクラス設計を見てほしいです

階層の概念を持ち込まずに、複数レイヤ分のマップデータを作れるでしょうか? 自由なマップデータの実装とはどんな感じですか。<vector>でしょうか。 階層の概念を持ち込まないのではなくて、インスタンスベースで考えましょうっていうことなんですけどね。 考えましょうってところは、構造化プログラミング的な抽象化だと思ってもらえれば。 自由ってのは、そのまんまの意味で自由ってことですよ。 マップデータは配列でもいいのですよ。自由ですから。 タイルマップが、マップデータが配列であることに依存する のは良くないという話です。 依存関係逆転の原則(DIP) というのがヒットしました。 http://d.h...
by ISLe
8年前
フォーラム: C言語何でも質問掲示板
トピック: [C++]タイルマップのクラス設計を見てほしいです
返信数: 36
閲覧数: 18554

Re: [C++]タイルマップのクラス設計を見てほしいです

ゲームプログラムは、一般的なシステム開発とくらべるとオブジェクト同士の関係が複雑です。 場面ごとに異なるオブジェクト同士と連携する必要があります。 その関係性を管理オブジェクトへのインターフェースという形でカテゴリ分けすると開発効率が良くなります。 いちばんてっぺんにすべてのカテゴリのルーツとなるオブジェクトを設けます。 仮にGameContextと名付けます。 ここから各カテゴリへアクセスするためのインターフェースを取得するので GameContextにはそのためのメンバ関数を定義します。 カテゴリとはキャラクター管理だったりステージ管理だったりイベント管理だったりです。 class Cat...
by ISLe
8年前
フォーラム: C言語何でも質問掲示板
トピック: [C++]タイルマップのクラス設計を見てほしいです
返信数: 36
閲覧数: 18554

Re: [C++]タイルマップのクラス設計を見てほしいです

わたしはImageを描画する方法だけを最初に決めました。 同じようにタイルマップをレイヤー状にしたり、それにアクセスする方法をクラスに込めることができます。 そのように考えることがオブジェクト指向に近づくことだと思います。 すみません、もう少し詳しく教えていただけませんか。 Imageの話からは帰納できず、どういう趣旨のお話なのか分かりませんでした。 TilemapとImageの関係と同じですよ。 複数レイヤーのタイルマップを扱いたいのなら、 Imageから派生してLayeredTilemapを作り、描画に関してImageと同様に扱えるようにする。 複数のタイルマップに対してどういう操作がで...
by ISLe
8年前
フォーラム: C言語何でも質問掲示板
トピック: [C++]タイルマップのクラス設計を見てほしいです
返信数: 36
閲覧数: 18554

Re: [C++]タイルマップのクラス設計を見てほしいです

ダウンキャストが危険をともなうというのは疑う余地のないことだと思いますが それと同じように ステージ全体を管理する、上位に位置するオブジェクトが マップという、ステージの一部を構成する、下位に位置するオブジェクトの仕様に合わせてはいけないのです。 dungeon.hppでインターフェイス用のクラスを用意して、それをアップキャストしたクラスのインスタンスの参照を渡せばいいのですね。 dungeon.cppでは、マップの情報を書きかえるのに、どうしても[現在のマップのTileIndexer]が必要だと思っていました。 でもdungeon.cpp側から直接書きかえる必要はなく、dungeon.cpp...
by ISLe
8年前
フォーラム: C言語何でも質問掲示板
トピック: vectorについてです
返信数: 2
閲覧数: 1606

Re: vectorについてです

assignの2つめの引数は、最後の要素位置ではなく、最後の要素を超える最初の位置、です。 C++言語の規格において保証されるのは 配列要素のポインタの大小比較は、同一の配列の要素同士に限り 最初の要素から、最後の要素をひとつ越えた位置までの範囲 と決められています。 int ar[] = {1, 2, 3, 4, 5, 6, 7}; であれば、&ar[0]~&ar[7]までに限ってポインタの大小比較が期待通り動作するということです。 &ar[7]は使えるがar[7]は使えない(領域外アクセスになる)という点に注意。 以上の仕様により、vectorのイテレータが終点を判定するために、最終要素の...

詳細検索ページへ移動する