検索結果 2636 件

by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: フルスクリーンに切り替えると落ちる
返信数: 13
閲覧数: 7329

Re: フルスクリーンに切り替えると落ちる

デバイスをリセットするタイミングなどもデスクトップと同期させる必要があると思います。

こちらでサンプルコードを書くとしてもある程度まとまった時間が必要です。
期待はしないでください。
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: 他のソースファイルの操作関数を扱いたい
返信数: 31
閲覧数: 9471

Re: 他のソースファイルの操作関数を扱いたい

<ISLeさん 途中でこれだと作れないと感じたため早めに聞きました 設計のやり直しについては知ってましたよ 設計のやり直しは何のためにするのか分かってますか? わたしの投稿をきちんと読んでくださいよ。 できるかどうかとやってよいかどうかは別の話です。 #include <stdio.h> #include <string.h> #include <stdarg.h> void get_value(const char *type, ...) { int type_id = -1; va_list args; va_start(args , type); if (strcmp(type, "i...
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: 他のソースファイルの操作関数を扱いたい
返信数: 31
閲覧数: 9471

Re: 他のソースファイルの操作関数を扱いたい

可変長引数から引数の値を取り出すにはva_argマクロを使いますが、設計から見直すべきです。
(別のトピックの話題ですが)データの改竄を気にするひとが書くコードではないですね。
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: mallocを使うタイミング
返信数: 19
閲覧数: 6805

Re: mallocを使うタイミング

・Dixqさんの方法はすごいハッカーが攻撃してくると無意味ですよ すごいハッカーでなくても多少のプログラムに関する知識があれば自宅のパソコンで誰でも簡単にできます。 自分のPCで改造したプログラムを動かすだけなので攻撃とも言えないでしょう。 ・物理的に切り離せばハッキングできませんよ ってことですね プログラムの中で使う値を直接書き換えることができなくなる、としか書いてません。 「物理的に切り離せ」というのは「サーバーに置け」と同義ですが、置いただけで安全なわけではありません。 物理的に切り離さない場合、根本的に防げないので対策しても無意味です。 物理的に切り離した場合、『きちんと対策するこ...
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: 2DゲームにおけるZソート
返信数: 11
閲覧数: 7126

Re: 2DゲームにおけるZソート

「オブジェクトを抽象化」という言い方が悪かったかもですね。 設計としては、Zソートするオブジェクトとしないオブジェクトを区別しない、ということです。 Zソートのための仕組みは共通要素として取り込んでおいて、Zソートしないオブジェクトでは実装しない、というふうにします。 Zソートの基準点に限らず、画像を元に座標を求めるのはお勧めしないです。 プログラムで計算して求めるのではなく画像を表示するオフセット位置を準備するのが良いと思います。 例えば、キャラクタが宙に浮かんでいるときは真上から光が当たってできる影の部分が足元です。 地面からキャラクタまでの空中を画像に含めたら無駄にメモリを食うし飛ぶ高さ...
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: DXライブラリでのpmdモデルの表示
返信数: 15
閲覧数: 6250

Re: DXライブラリでのpmdモデルの表示

NVIDIA GeForce2 MX/MX 400がプログラマブルシェーダをサポートしていないのが原因ではないでしょうかね。
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: c++でゲームキャラクターのモーションの中の一部表示
返信数: 13
閲覧数: 8010

Re: c++でゲームキャラクターのモーションの中の一部表示

質問者さんの使っているライブラリにはgsDraw2DPart関数が無い、ということですかね。
それ以外の識別子は完全に一致したのですがわたしが見付けたのは似て非なるものだったのでしょうか。

あるいはライブラリに[質問者さんが望む形を完璧に満たす]アニメーション機能が無いことで実現不可能だとおっしゃっているのでしょうかね。

そちらの学校では、実際の開発現場でプログラミングより大事なこと(があるということ)を教えていないのでしょうか。
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: c++でゲームキャラクターのモーションの中の一部表示
返信数: 13
閲覧数: 8010

Re: c++でゲームキャラクターのモーションの中の一部表示

ヘッダファイル名とかライブラリ関数名で適当に検索してみたところ、なぜか中国語のサイトで見付けました。

gsDraw2DPart(gsTexture tex, int dx, int dy, int sx, int sy, int w, int h)
tex … テクスチャ
dx,dy … 描画先の左上座標
sx,sy … テクスチャの左上座標
w,h … 描画サイズ

そこの学生ならライブラリのリファレンスマニュアルをあたればgsDraw2Dの並びですぐに見付かりそうなものですけど。
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: c++でゲームキャラクターのモーションの中の一部表示
返信数: 13
閲覧数: 8010

Re: c++でゲームキャラクターのモーションの中の一部表示

提示されたソースコードにはアニメーション(あるいはモーション)を行っている箇所は見当たりませんね。

質問を超解釈すると…
・アニメーションに必要な絵が一枚の画像の中に収められている
・画像から一部を抜き出して描画することを順番に繰り返すことでアニメーションさせたい
ということかと思います。
DragonDraw関数の中に書いてそれを実現するコードを教えろってことですかね。

ちなみにわたしはGS学内ライブラリというものを知らないので、GS学内ライブラリで画像の一部を描画する方法も分かりません。
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: OpenGL VBOのglMapBuffer関数について
返信数: 13
閲覧数: 7644

Re: OpenGL VBOのglMapBuffer関数について

ちなみにVertex Buffer Object(VBO)のvertexが頂点という意味です。
行列はmatrixです。
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: マウスのx座標とy座標の2つを返り値とした関数を作りたい
返信数: 33
閲覧数: 12709

Re: マウスのx座標とy座標の2つを返り値とした関数を作りたい

GetMousePoint関数がx座標とy座標をひとつの関数で返しているんですけどね。

こんな関数だったら作る意味がないですね。

コード:

int MyGetMousePoint(int *xPos, int *yPos)
{
    return GetMousePoint(xPos, yPos);
}
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: OpenGL VBOのglMapBuffer関数について
返信数: 13
閲覧数: 7644

Re: OpenGL VBOのglMapBuffer関数について

そもそもポインタが分からないということかもしれませんが。 コメントで説明書いてみました。 glBindBuffer(GL_ARRAY_BUFFER, VboId[0]); // ※※ 以後、GL_ARRAY_BUFFER(頂点バッファ)とはVboId[0]に格納したIDのもの float *ptr = (float*)glMapBuffer(GL_ARRAY_BUFFER, GL_READ_WRITE); // ※※ 頂点バッファを読み書きするため、メインメモリに割り当て、割り当てたメモリの先頭アドレスが戻る if(ptr) // 割り当てに成功していれば真 { static float tm...
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: OSSの定義について
返信数: 13
閲覧数: 3121

Re: OSSの定義について

jaljal さんが書きました:特定ソフトウェアに限定するとして、この時点でOSSではないのですがメリットはあるんでしょうか?
どの時点でOSSではなくなるのですか?

例えば、公開したソースコードを使ってLinuxの実行ファイルを作るのはOKだけどWindowsの実行ファイルを作るのはNG、とかいうアンチマイクロソフトな思想をライセンスに持ち込んだりするのはダメということですよね。

他に分かりやすいところだと、特定のモジュール(例えば広告を表示するものとか)と一緒に使わないとダメとか言っちゃダメとか。
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: 録音デバイスを無効にすると動作しない
返信数: 1
閲覧数: 1608

Re: 録音デバイスを無効にすると動作しない

うちのマシンで実験してみました。

Windows 7 64bitでマイクを接続して、
録音デバイスが、

マイク - 規定のデバイス
CD オーディオ - 無効
ライン入力 - 接続されていません
ステレオ ミキサー - 無効

という状態で、waveInGetNumDevsを呼び出すと即座に1と返ります。

ドライバはRealtek High Definition Audioの6.0.1.7083(2013/11/05)です。
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: mallocを使うタイミング
返信数: 19
閲覧数: 6805

Re: mallocを使うタイミング

クライアント側でのセキュアなプログラムというのは、OSをハッキングする際の踏み台にされるのを防ぐといった話だと思いますが。 「無理やり押し広げ~」というのはパッファオーバーランの脆弱性を利用して不正なコードを実行する手法のことでは? それはmallocとはまったく関係なく、メモリにロードされたプログラムが書き換えられるという話です。 書き換えられたくないならメモリにロードしない、つまり実行しない、という話になります。 Dixqさんが書かれているように、ある程度の知識でもってリバースエンジニアリングすれば、そのプログラム自身が暗号化などを解除して使う瞬間の値を取り出せますからクライアント側だけで...
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: フルスクリーンに切り替えると落ちる
返信数: 13
閲覧数: 7329

Re: フルスクリーンに切り替えると落ちる

WM_PAINT などメッセージを調べてみましたが分かりませんでした。 もう少しヒントをもらえないでしょうか WM_PAINTのハンドラで、頂点バッファが作成されていなかったら作成する、というふうにすれば良いはずですが。 case WM_SYSKEYDOWN: switch (wParam) { case VK_RETURN: RELEASE(g_pVB); ChangeDisplayMode(); InvalidateRect(hWnd, NULL, FALSE); // このあとWM_PAINTを発生させる break; } break; case WM_PAINT: { // WM_P...
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: DirectXやOpenGLに手をつけようと思っているのですが・・・
返信数: 3
閲覧数: 2360

Re: DirectXやOpenGLに手をつけようと思っているのですが・・・

パイプラインがなくなったわけではないので、固定にしてもプログラマブルにしても最初に覚えることは同じです。
パイプラインの中でステージと称される各段階でできることがシェーダプログラミングによって広がったということです。

softyaさんがリンクした連載記事では、第9回から第13回に書いてありますね。
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: 文字にフリガナを付ける方法(DxLib)
返信数: 6
閲覧数: 3135

Re: 文字にフリガナを付ける方法(DxLib)

ブログのコードはサンプルコードということもあって表示用バッファがベタな配列ですが、一行分を、ルビをふる部分で分割したリスト構造にすると良いかと思います。 描画されるピクセル幅を求める処理を、リストに対し繰り返し、合計するようにします。 その際、漢字とルビのどちらが長いかを選択する仕組みを作って、描画でも利用できるようにしましょう。 文字が追加される最後の項目以外は、一度求めたピクセル幅を記録して再計算を省くようにすると良いです。 DXライブラリの場合は、速度的に毎回求めても問題になることはないと思いますが。 文字の均等割り付けもめんどうくさい処理なので頑張ってください。 一行分のリストとフラグ...
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: フルスクリーンに切り替えると落ちる
返信数: 13
閲覧数: 7329

Re: フルスクリーンに切り替えると落ちる

ウィンドウプロシージャの中で破棄から再作成まで一気に行うと、デバイスの実際の状態の変化を待たずに処理が先行してしまうかもしれません。
むしろ上手くいくのがたまたまだと思います。

画面モードが変更されたことはウィンドウメッセージで検出して、その後再作成が必要であれば再作成するというふうにすれば環境差をウィンドウズが吸収してくれます。
再作成だけでなく初回分もまとめられます。
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: C言語のデータ型について教えてください
返信数: 6
閲覧数: 4246

Re: C言語のデータ型について教えてください

float/doubleの最大値・最小値もC/C++では処理系依存ですよね。
IEEE 754がデファクトスタンダードですが。

プログラミングする上では型と同時に型変換についても知っておく必要があると思います。
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: 独自規格PCのエミュレータを作っています
返信数: 15
閲覧数: 6111

Re: 独自規格PCのエミュレータを作っています

SDLの名誉のために書いておくと、わたしは過去にSDLでアーケードゲーム等のエミュレータもどきを作ったことがあります。
仕事で作ったのを個人的な趣味でLinuxに移植したものですが。
ちゃんと作れば問題ありません。
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: ゲーム会社へ就職するのに必要な技術
返信数: 12
閲覧数: 13738

Re: ゲーム会社へ就職するのに必要な技術

他の方も書かれてますがDirectXを使えることが『腕』として評価できるのかどうか疑問ですね。

DXライブラリを使っていても、3Dでは頂点やマテリアルやテクスチャなどのリソースや座標変換などの描画手順がソースコード上できちんと分類・整理されているかどうかを見ることで、ポリゴンベースの3Dグラフィックの基礎を理解できているかどうか判断できると思います。

そういうところはソースファイルを開いて数秒眺めただけである程度分かるものです。
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: OpenGL投影マッピングについて
返信数: 4
閲覧数: 2535

Re: OpenGL投影マッピングについて

それを説明しているのがそのページなのだと思いますが。

テクスチャの視点を立方体に対して手前から奥にまっすぐにして平行投影しているので、手前と奥の面だけに画像が映ります。
続く解説で、視点を変えて画像を上下に移動させたり、透視投影したりしてますね。

投影マッピングでは、座標値は空間座標値です。
イメージとしては、テクスチャはビームで、ポリゴンとビームが交差する場所に描画されます。
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: フルスクリーンに切り替えると落ちる
返信数: 13
閲覧数: 7329

Re: フルスクリーンに切り替えると落ちる

デバイスロストした場合は、デバイスインターフェースを通して作成したD3DPOOL_DEFAULTのリソースは無効になります。
Resetする前に破棄して、Resetした後に作成し直す必要があります。

このプログラムの場合は、頂点バッファが該当しますね。
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: ゲーム会社へ就職するのに必要な技術
返信数: 12
閲覧数: 13738

Re: ゲーム会社へ就職するのに必要な技術

「DirectXできるひと求む」なんてのは、入ってたきたばかりの新人に独自のフレームワークを開発あるいはメンテさせようってなことですよ。
どうしてそんなことになるかと言ったら、どんどんプログラマが辞めていく、という理由しかないですよね。
フレームワークなんて使っていないか、使っていたとしても継ぎ接ぎしながらなんとか動かしている現場のようすが目に浮かびます。

人海戦術に組み込まれてゲームを作れたとして幸せだと思うかどうかですよね。
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: 独自規格PCのエミュレータを作っています
返信数: 15
閲覧数: 6111

Re: 独自規格PCのエミュレータを作っています

つい先日、他のトピックに投稿したコードが参考になるのでは?
WindowsAPI GetPixelについて

ベタな配列で持ったピクセル情報をウィンドウに表示するサンプルコードです。

拡縮を行わないならSetDIBitsToDeviceを使ったほうが高速かもしれません。
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: クラスの継承について
返信数: 21
閲覧数: 7358

Re: クラスの継承について

クラスの組み方ではなくて、オブジェクトの関係を整理するほうが先決なのでは。

同じクラスを継承すれば勝手に連携できるようになる、と考えているならば間違いです。

上位にマネージメントするクラスがあって、そのクラスとやり取りするクラスがある。
そのやり取りのインターフェースを共通化する、というのが基底クラスの役割りです。
やり取りを共通化する見通しが立ってないのに形だけ基底クラスを用意しても意味がありません。


参考になるか分かりませんが、この掲示板でも過去にこの手の設計の話題が何度か出ています。
『天の声』とか『神の視点』で過去ログを検索してみてください。
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: D3DXCreateTextureFromFileExのサイズ指定について
返信数: 4
閲覧数: 4430

Re: D3DXCreateTextureFromFileExのサイズ指定について

質問の意図がよく分かりませんが、テクスチャはテクスチャ座標を指定して貼り付けるのがふつうです。

テクスチャをピクセル単位で考えるとコードで分岐処理しなければいけないことがたくさん増えてめんどうくさいですよ。
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: クラスの継承について
返信数: 21
閲覧数: 7358

Re: クラスの継承について

館のコードに合わせるなら、Gameクラスの中でさらにシーンを細分化する方向がありますね。 そうしたら、プレイヤークラスは単純にGameクラスのメンバで良いですね。 class Game : public BaseScene { private: CPlayer m_Player; public : Game(ISceneChanger* changer); void Initialize() override; void Finalize() override; void Update() override; void Draw() override; }; Game::Game(IScene...
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: クラスの継承について
返信数: 21
閲覧数: 7358

Re: クラスの継承について

質問者さんは、実行時にどのタイミングでオブジェクトを生成するのかという点についても曖昧なのではないでしょうかね。 各オブジェクトのライフサイクルをガントチャートふうに図に描いてみたら分かりやすくなるかもしれません。 Gameクラスが継承しているのはBaseSceneクラスなので、Gameクラスはシーンを表しているのでしょう。 わたしなら、プレイヤークラスの生成・管理はさらに上位のクラスで行うようにすると思います。 新・ゲームプログラミングの館で言うとSceneMgrになってしまいますが、シーンの変化を検知してオブジェクトの生成・破棄を行うオブジェクトマネージャを新設するのが理想です。 Init...
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: D3DXCreateTextureFromFileExのサイズ指定について
返信数: 4
閲覧数: 4430

Re: D3DXCreateTextureFromFileExのサイズ指定について

いまどきのグラボはたいてい2の累乗でないサイズのテクスチャをサポートしていますが、ミップマップをサポートするテクスチャはたぶん2の累乗でなければいけないはずです。
2の累乗でないサイズのテクスチャをうまく作成できないときはミップマップレベルに1を指定するとうまくいくことがあります。

ちなみに2の累乗でないサイズのテクスチャはさまざまな点で効率が悪いです。
ピクセルをデバイス上で完全に一致させる必要がある場合などに用途を限定すべきかと思います。
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: WindowsAPI GetPixelについて
返信数: 24
閲覧数: 12884

Re: WindowsAPI GetPixelについて

usao さんが書きました:
オフトピック
GetObject()のところで,DIBSECTION構造体に情報を受けとれば
GetDIBits()とかを使わなくて済むかも.
それだと読み込んだビットマップのフォーマット(ビット幅)に左右されるのでピクセルにアクセスするコードが煩雑になります。
サンプルコードの場合だと内部的には24ビット固定でコードを統一しています。

読み込み時にDIBSECTIONを指定しているのは、デバイス(デスクトップ)依存に変換されて劣化するのを防ぐ効果を期待したものです。
実際にはそんな効果はないかもしれません。
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: 透過処理した画像の表示について
返信数: 13
閲覧数: 3966

Re: 透過処理した画像の表示について

Dixq (管理人) さんが書きました:例えPNGでも白背景と一緒に画像になってる場合は似たようなことに陥るんですよね。
私はいつも多めに取り除いて白い部分を無くしています。
それ以外に方法は無い気が・・。
関係ないかもしれませんが…
マルチサンプリングで、透過ピクセルの色が隣の透過でないピクセルに染み出すことがあったりしますね。
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: WindowsAPI GetPixelについて
返信数: 24
閲覧数: 12884

Re: WindowsAPI GetPixelについて

解決したようですが、せっかくなので投稿します。 サンプルコード書いてみました。 C++じゃないしウィンドウプロシージャにベタ書きですしいろいろ手抜きがあります。 カレントディレクトリにあるtest.bmpを表示するウィンドウズアプリです。 最初にベタな配列にピクセルデータを取り込んで、その配列のピクセルデータを使って表示します。 #define STRICT #define WIN32_LEAN_AND_MEAN #include <windows.h> struct PIXEL_DATA // ピクセルデータの保持用 { COLORREF pixel; // とりあえずのCOLORREF型 ...
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: さっそく新しい悩みが…
返信数: 3
閲覧数: 2189

Re: さっそく新しい悩みが…

最近は商業系でもiPhoneでスマホアプリを作ってマーケティングの勉強をするところが増えているらしいです。
IT関連のニュースでよく見かけます。
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: WindowsAPI GetPixelについて
返信数: 24
閲覧数: 12884

Re: WindowsAPI GetPixelについて

BMPファイルをDIBセクションに読み込むのはWin32 APIのLoadImage関数一発でできます。 空のビットマップに画素を移すのは、転送元のビットマップハンドルからGetDIBitsで読み込んで、転送先のビットマップハンドルにSetDIBitsで書き込めば良いのですが、画像処理が目的ならアクセスしやすいようにピクセル情報を配列に格納することを優先すべきなのでは? 目的と手段がズレているように感じます。 ビットマップ形式の32ビット幅は仕様に曖昧な点があるので、24ビット幅にしたほうが良いと思います。 24ビット幅の場合、画像の水平サイズによっては行毎にアライメントが発生するので注意が必...
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: まったくの初心者でなにをすればいいのか分からないです
返信数: 8
閲覧数: 4382

Re: まったくの初心者でなにをすればいいのか分からないです

C/C++はゲームを作るのに必要な機能は後付けです。
使用するライブラリ等を選択しなければいけません。
この掲示板を利用するならDXライブラリを使えばってことになるとは思いますが。

Javaはゲームを作るのに最低限の必要な機能は最初から全部入ってます。

そういう点ではJavaを推します。
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: ゲーム製作の状態遷移について質問があります。
返信数: 6
閲覧数: 4573

Re: ゲーム製作の状態遷移について質問があります。

switchで状態遷移するとしても、switchはオブジェクト個々に完結したものでなければいけません。 複数のオブジェクトを扱う処理に跨ったswitchは、switchを使うべきかどうかという以前に構造化を阻害する要因となります。 ・状態遷移の中で更に状態遷移が分かれた時はどの様にすればよいでしょうか? (Enemy_Turn状態遷移の中で更にSerchNomoveEnemy等へ状態遷移が分かれている) (状態遷移を表したクラス内でswitch文するのか、更に状態遷移のクラスを生成するのか・・?) 担当するオブジェクトが異なるので状態遷移の中で状態遷移が分かれるということ自体がありません。 ・...
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: Androidのサンプル
返信数: 56
閲覧数: 16321

Re: Androidのサンプル

質問者さんはnew Circle(~)でセットされた色が自動的に描画に使われていると考えているように見えます。
ほんとうはコードから自力で読み取って欲しいのですが、ライブラリが絡むのでほとんど答えのようなヒントです。

paint.setColor(Color.argb(255, a.cr, a.cg, a.cb)); // 描画色をセット
canvas.drawCircle(a.x, a.y, a.radius, paint); // セットした描画色を使う
円(ボール)の描画は毎度ひとつずつ描画色をセットしながら行われています。
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: GUIについて
返信数: 3
閲覧数: 1619

Re: GUIについて

Javaでのやり方は、“Java ドラッグアンドドロップ”でネットを検索すればサンプルプログラムがたくさん見付かると思います。

Googleで“Java ドラッグアンドドロップ”を検索
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: Androidのサンプル
返信数: 56
閲覧数: 16321

Re: Androidのサンプル

あんどろいどくん さんが書きました:148行目
canvas.drawCircle(a.x, a.y, a.radius, paint);
ボールの描画が行われている。
わたしの投稿から「ボールの色を変えたいならcr,cg,cbメンバを書き変えてください」という点だけを捉えたのでしょうか。
むしろ大事なのは「元よりCircleクラスのcr,cg,cbメンバをRGB各要素として決定する色でボールが描画されていますから」の部分なのですが。

147行目を見てもどこを書きかえたら良いのか分かりませんかね。
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: Androidのサンプル
返信数: 56
閲覧数: 16321

Re: Androidのサンプル

あんどろいどくん さんが書きました:簡易衝突のところで色を変更するのでしょうか?
色を変更するところはそれで良いですが、例として提示されたコードは色を変更するコードになっていません。

「メンバを書きかえてください」をそのように解釈されたのでしょうか。
だとしたらソースコードを少々理解できないだけではないように思われますが。
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: 2dの背景に3dのマップを組み込むには?
返信数: 6
閲覧数: 3029

Re: 2dの背景に3dのマップを組み込むには?

とりあえずプログラムコードでの手順を示すサンプルです。 DXライブラリ公式サイトにある 3Dアクション基本 サンプルプログラム を以下のように書き換えて動かしてみてください。 WinMain関数のメインループ内、Render_Process関数呼び出し部分です。 #if 0 // 描画処理 Render_Process() ; #else // カメラ位置固定 SetCameraPositionAndTarget_UpVecY(VGet(3000.0f, 6000.0f, 3000.0f), VGet(0.0f, 0.0f, 0.0f)); // ステージモデルの描画 MV1SetOpacit...
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: 2dの背景に3dのマップを組み込むには?
返信数: 6
閲覧数: 3029

Re: 2dの背景に3dのマップを組み込むには?

シンプルなゲームを作りたいというわりには、とても手間と時間の掛かる手法を選びましたね。
softyaさんが書かれているように、この手法は必要なデータを準備するまでが肝です。

カメラのアングルが変わる場合は、それ込みで領域分割して深度計算すれば良いと思います。
カメラを動かしてズレが生じないか、ではなくてズレないようにあらゆる要素を事前に決めておかなければいけません。

こちらから何をどういうふうに提示できるかこれから考えてみます。
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: 【C/C++】Allegroを使ったプログラミングについて。
返信数: 11
閲覧数: 6158

Re: 【C/C++】Allegroを使ったプログラミングについて。

MD(マルチスレッドDLL)版以外のライブラリファイルならそのまま2013で使えたりしないのでしょうかね。
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: 2dゲームで坂道を実装しようと思っているのですが...
返信数: 6
閲覧数: 3490

Re: 2dゲームで坂道を実装しようと思っているのですが...

タイルを使ったマップでブロックの角と角を繋いだような坂ということですかね。
坂の部分が三角形のブロックになるような。

別に数式使った交差判定が難しいことはないと思いますよ。
でもせっかく数式使った交差判定するなら複雑な形状の坂じゃないともったいない気がしますね。

タイルを使ったマップなら、X座標のオフセットに坂の傾きを掛けるだけで高さ(のオフセット)を求められます。
ふつうの四角いブロックと同じように当たり判定して高さのオフセットで補正してやれば済むのでは。
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: 戦略シミュレーションゲームで移動
返信数: 6
閲覧数: 3469

Re: 戦略シミュレーションゲームで移動

トピ主がソースコードを紛失しこのトピックは継続不可能とのことです。

詳しくはこちらのトピックを参照してください。
http://dixq.net/forum/viewtopic.php?f=3&t=14532


以下は個人的な意見です。
規約において変更したソースコードを貼ることが絶対の義務との表現にはなっていません。
しかし質問者がソースコードを提示しないことによって、検証するのにトピックの閲覧者側に手間を与え、過去ログとしての価値も失われます。
フォーラムルールの精神に則れば、それは規約違反よりも重い罪と言えるのではないでしょうか。
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: Dxライブラリでエフェクトを作りたいのですが...
返信数: 29
閲覧数: 11909

Re: Dxライブラリでエフェクトを作りたいのですが...

色々な過去トピックを見ていると、助言を受けて自分のコードを改変して解決したのにソースコードを載せず謝礼だけ且つ「規約違反ですので(以下略)」と注意されていないものが結構見受けられます・・・・ なぜハルルンさんだけなのでしょう? その他のトピックにも規約違反であると書かれてはよろしいかと・・・あなたは「副管理人」という立ち位置なのですから・・・これは他の「副管理人」にも言えることですが・・・・ sqlさんはこう指摘したんですよ。 それなら、「直したソースコードを見ないと分からないので・・・・」と書けばいいではないですか? そのように書いたら何がどういいというのですか? このトピックでISLeさ...
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: Dxライブラリでエフェクトを作りたいのですが...
返信数: 29
閲覧数: 11909

Re: Dxライブラリでエフェクトを作りたいのですが...

貴方の言う「ルール」 = ここの掲示板の規約だとしたら残念ながら規約には「解決した方法」の記載は明記されていますが、ソースコードはその一例です。 ソースコードを必ず載せなくてはいけないという文章はありません、解決した方法さえきちんと書けば別にソースを載せなくてもいいのでは?、にも関わらず、「※ ここの規約で直したソースコードは貼るように定められていますので忘れないようにお願いします。」という一文を見つけたのでおかしいと思ったのですが・・・。 解決した方法がきちんと書かれていなかったら、ソースコードを載せろ、ではなく「解決までの経緯を記載してください、それがここでのルールです」と書くのでは? ...
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: Androidのサンプル
返信数: 56
閲覧数: 16321

Re: Androidのサンプル

元よりCircleクラスのcr,cg,cbメンバをRGB各要素として決定する色でボールが描画されていますから、ボールの色を変えたいならcr,cg,cbメンバを書き変えてください。

#Canvasをロックしている期間が無駄に長いのが気になります。
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: Dxライブラリでエフェクトを作りたいのですが...
返信数: 29
閲覧数: 11909

Re: Dxライブラリでエフェクトを作りたいのですが...

わたしも『ソースコードを提示した質問』なら結果としてソースコードを提示しろと書いたことはあったはずです。 それ以前に状況が分からないからソースコードを提示しろと迫ったことならもっとたくさんあります。 仕方なくこちらでコードを書いて投稿したことも何度かあります。 迫るだけなら誰でもします、(必ずコードを載せる)規約だと偽ることと、「わからないなら現状(のコードを)見せてみ!」では全く違いますよね。 違いません。 勝手にあなたの都合に良い箇所だけを抜き出してあなたの都合の良いように解釈しないでいただけますか。 「ルールだから」最終的なソースコードを提示しろと書いたという話をしています。 現状のソ...
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: Dxライブラリでエフェクトを作りたいのですが...
返信数: 29
閲覧数: 11909

Re: Dxライブラリでエフェクトを作りたいのですが...

「ソースコードを失ってしまったのでトピックを継続することができなくなってしまった」というのは正当な理由ではないでしょうかね。

問題の本質は『それがどうして本来のトピックに書き込まれないのか』ということかと。
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: Dxライブラリでエフェクトを作りたいのですが...
返信数: 29
閲覧数: 11909

Re: Dxライブラリでエフェクトを作りたいのですが...

エフェクトに関してはそれだけで一冊の本になるくらいのものなので、掲示板で一から説明するのは無理ですね。

とりあえず、この掲示板で話題に上がることも多い、effekseerを使ってみるというのはどうでしょう。
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: Dxライブラリでエフェクトを作りたいのですが...
返信数: 29
閲覧数: 11909

Re: Dxライブラリでエフェクトを作りたいのですが...

わたしはトピックが放置されたら特に指摘もせず以後トピ主さんが立てたトピックに投稿しないだけですね。 わたしも『ソースコードを提示した質問』なら結果としてソースコードを提示しろと書いたことはあったはずです。 それ以前に状況が分からないからソースコードを提示しろと迫ったことならもっとたくさんあります。 仕方なくこちらでコードを書いて投稿したことも何度かあります。 回答者に動作検証のためにソースコードをわざわざ作成するなどの労力を使わせていることを想像できない質問者が多いですね。 仮にその労力を仕事に回したら、質問者と回答者で価値が同じだとでも思っているのでしょうか。 実際のところ、ソースコードを提...
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: 2dゲームで坂道を実装しようと思っているのですが...
返信数: 6
閲覧数: 3490

Re: 2dゲームで坂道を実装しようと思っているのですが...

坂道をどういうデータで表現するかという方法は幾通りもありますから、ベストな方法というものはありません。

実際にゲームをプレイする際のイメージとして、どんな見た目の坂道が欲しいのかが分からないと回答のしようがありません。
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: .Netでのショートカットキーについて
返信数: 2
閲覧数: 1928

Re: .Netでのショートカットキーについて

ショートカットキーは、そのメニュー項目を開くことなく実行するためのキーの組み合わせです。
そのためサブメニューの親に設定しても無意味です。

メニューを開いたり選択するのはアクセスキーです。

アクセスキーを設定するにはメニューアイテムのキャプションを
Aで選択(&A)
のようにしてください。
&の次に書いた文字がアクセスキーで、下線が現れる部分です。
キーボードから入力可能な文字でなければいけないので、Ctrl+Dをアクセスキーにはできません。
ショートカットキーと混ざってしまわないように、なるべく単独で入力できる文字が良いでしょう。
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: 画像の当たり判定は矩形か円形しか無いの?
返信数: 2
閲覧数: 2550

Re: 画像の当たり判定は矩形か円形しか無いの?

シューティングゲームのような単純な当たり判定の場合は、マスク画像を使用してピクセル単位の当たり判定を実装しているゲームもあります。

矩形の組み合わせが多いのはプラットフォームが違ってもたいてい処理が軽いからです。
円形だと掛け算の遅いプラットフォームで、マスク処理だとビットシフトの遅いプラットフォームで、重くなる可能性があります。
いまどきのハードなら組み込み系だとしてもあまり心配することはないと思いますけど、影響を無視できない時代があったのでした。
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: CStringやCTimeがうまく使えていない?
返信数: 10
閲覧数: 4837

Re: CStringやCTimeがうまく使えていない?

ロケール(LC_TIME)を設定する必要があるのでは?
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: Javaアプレットに「信頼される」オレオレ署名はできる?
返信数: 4
閲覧数: 2894

Re: Javaアプレットに「信頼される」オレオレ署名はできる?

署名した認証機関を信頼できるかどうかの問題で、オレオレ署名が不正な署名というわけではないですよね。
認証機関だって独占事業じゃないと思いますけど。
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: 配列とアドレス演算子に関して
返信数: 2
閲覧数: 2105

Re: 配列とアドレス演算子に関して

式の中に配列名が現れるとき、sizeof演算子のオペランド・アドレス演算子のオペランド・ 文字列リテラル のいずれかである場合を除き、配列の先頭要素を指すポインタに変換されます。 sizeof演算子のオペランド・アドレス演算子のオペランド・ 文字列リテラル のいずれかの場合は、配列全体を指します。 値が同じでも型が異なります。 aはintへのポインタ、&aはint[2]へのポインタ、です。 int a[2]; int *p; p = a; // &a[0]と同じ扱い p = &a; // エラー(Cでは警告) int (*)[2]からint *へ互換性のない変換 (追記) 文字列リテラルに関し...
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: 龍神録プログラミングの館の.h記述手法で構造体を使った場合のwarning C4091について
返信数: 7
閲覧数: 6025

Re: 龍神録プログラミングの館の.h記述手法で構造体を使った場合のwarning C4091について

プリプロセッサで切り替える方法は、宣言と定義が曖昧になるので、開発環境のソースコード解析に悪影響を与えて、宣言や定義へのジャンプとか入力候補の表示とかがしばしば機能しなくなる現象に遭遇したりします。 データベースが更新一斉に更新される頻度も高くなりますし、開発効率が下がります。 GLOBALでプリプロセス時に分ける方法はあまり好まれないのでしょうか・・・? そもそもexternが必要になること自体にたくさんの問題があるので、好む好まない以前の話ですね。 グローバル変数をまとめるという発想自体が構造化の否定になります。 とりあえずグローバル変数を使うとしても、プレイヤーの変数の実体はプレイヤーの...
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: effekseerをDXライブラリで使用したいのですが、エラーが出てしまいます。
返信数: 4
閲覧数: 4288

Re: effekseerをDXライブラリで使用したいのですが、エラーが出てしまいます。

インクルードディレクトリにはIncludeのパスだけ、ライブラリディレクトリにはLib\x86のパスだけ、を設定してください。 DXライブラリは64bitに対応していないのでLib\x64は不要です。 Lib\x64には同名のライブラリファイルが存在し中身が異なるため質問に書かれたエラーが発生していると思われます。 ちなみに、ここでのx86/x64は作成する実行形式に対してのことで、OSとは無関係です。 リンク指示とは #pragma comment(lib, "d3dx9.lib" ) のことです。 この場合、追加のライブラリファイルとしてd3dx9.libをリンクするという指示になります。...
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: doubleの計算結果が異なる
返信数: 9
閲覧数: 3728

Re: doubleの計算結果が異なる

DXライブラリを使わないで、Direct3Dを直接使えばデバイスを作成する際に精度を維持する設定が可能です。

DXライブラリを使う場合は、SetUse3DFlagでFALSEを指定して3Dデバイスを初期化させなければ良いかもしれません。
その代わりDXライブラリの描画性能は著しく低下するはずです。

DXライブラリ(というかDirect3D9)を使う必要があるのでしょうか。
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: effekseerをDXライブラリで使用したいのですが、エラーが出てしまいます。
返信数: 4
閲覧数: 4288

Re: effekseerをDXライブラリで使用したいのですが、エラーが出てしまいます。

エラーメッセージに出力されているシンボルは、d3dx9.libに含まれているはずのものです。
d3dx9.libのリンク指示は、ソースファイル内に記述されています。
HI魔神 さんが書きました:2.追加のインクルードディレクトリに展開されたヘッダーファイルとdllファイルを追加した。
問題があるのはこちらの作業内容だと思います。
通常はインストールした先のフォルダの名前(場所)を設定します。
ファイル自体に触れないはずなので間違った作業をした可能性があります。

あと、使用している開発環境が分かりませんが、Visual Studioの2012以降だとツールセットの変更が必要だったような気がします。
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: 構造体変数の宣言と使用について
返信数: 5
閲覧数: 2491

Re: 構造体変数の宣言と使用について

エラーメッセージに既にヒントが書かれていますけど。
1> 型は 'Graph *' です。
1> 代わりに '->' を使用しますか?
pic_inPictureRead.Gr

pic_inPictureRead->Gr
と書けば良いです。
詳しくは「アロー演算子」で調べてください。
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: doubleの計算結果が異なる
返信数: 9
閲覧数: 3728

Re: doubleの計算結果が異なる

だんごさん さんが書きました:質問に書いた以外に2つの違いとして言えば…DOS(移植前)とDxLib(移植後)くらいでしょうか…。
DXライブラリがDirect3Dのデバイスを作成する際に、浮動小数点数演算が単精度モードになっているのではないでしょうかね。
その場合、double型の値でもfloatの精度で計算されますし、代入で誤差が発生する可能性もあります。
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: 構造体の宣言法について
返信数: 9
閲覧数: 3665

Re: 構造体の宣言法について

typedef struct tree_node tree_node_t; ここで、tree_nodeという型 を tree_node_t型として宣言して、 typedefで定義された型は、単に読み替えが行われるだけです。 新しい型が生成されるわけではありません。 例えばC++で、tree_node_tとstruct tree_nodeでオーバーライドできるのはどちらか一方だけです。 struct tree_node { int value; tree_node_t *children[10]; }; tree_node型の構造体の中で、int型のvalue と tree_node_t型の*...
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: 構造体の宣言法について
返信数: 9
閲覧数: 3665

Re: 構造体の宣言法について

kopi さんが書きました:ここで疑問なのですが、この場合は

コード:

  struct ListItem /* 構造体型の定義。*/
  {
     int value;
     struct ListItem* p_prev;
     struct ListItem* p_next;
  };
と書くことも可能ですよね?
タグにC言語が指定されていますね。
C++ではstructもクラス定義のキーワードなので省略できますが、C言語では省略できません。
そのように「書かなければいけない」です。

どうしてC++の話になったのか分かりませんが。
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: OpenGLES,glDrawArraysを減らしたい
返信数: 15
閲覧数: 5899

Re: OpenGLES,glDrawArraysを減らしたい

テクスチャを切り替えること自体がネックなのでまとめられるならまとめたほうが良いと思います。

以前どこかで見ましたがトライアングルストリップで独立した四角形を複数描く方法もあります。
余分な手間がかかるし直感的ではないのであまりお勧めできる方法ではないと思いますが。

glDrawArraysを減らすのも良いですが、頂点データをVBOにして使い回したらもっと効果があるんじゃないですかね。
VBOはOpenGL ES 1.1以降で使えます。
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: 角度計算について
返信数: 2
閲覧数: 1344

Re: 角度計算について

例示された角度計算には三角関数は使われていませんが…。 PI2というのは、円周率×2のことだと思います。 三角関数では、PI(π=円周率)は180度のことです。 なのでPI2というのは360度のことです。 計算は一周360度を適当な法則で分割して組み合わせているだけですね。 どういう動きかは図に描いたりプログラムを動かしたりしてみないと分からないんじゃないでしょうかね。 わたしがこのコードを読むときは「角度を求めているんだな」とだけ理解しますね。 どういう法則で角度が求められるかはゲームコンテンツとしての仕様であって、コードを理解するのには不要ですから。 あとゲームで三角関数を直接使うのは、角...
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: DXライブラリ側でのテクスチャの読み込み
返信数: 5
閲覧数: 9419

Re: DXライブラリ側でのテクスチャの読み込み

ても さんが書きました:2のMV1SetTextureGraphHandle関数はテクスチャの画像サイズが2のn乗でなければちゃんと表示されない為、
 関数の仕様を留意してテクスチャファイルを作らなければならない&UVマッピングしなければならない、と言う制約があります。
MV1SetTextureGraphHandle関数に渡すテクスチャの画像を読み込む前に
SetUseDivGraphFlag(FALSE);
とすると2のn乗でなくてもちゃんと表示されるようになるかもしれません。

テクスチャは2のn乗サイズにしておいたほうが何かと効率が良いですが。
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: linuxのキーボード同時押し
返信数: 7
閲覧数: 4857

Re: linuxのキーボード同時押し

MS-DOSとかで文字しか使わなかった時代からしても、Linuxとは根本的にキーボードに対する仕組みが違うんですよね。
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: DXライブラリとJava
返信数: 19
閲覧数: 6088

Re: DXライブラリとJava

デバイスドライバはウィンドウズが規定する設計モデルで作られるので、OSの管理下にあります。
グラフィックドライバであればいまはWDDMという設計モデルが使用されます。
また署名によるバイナリの改ざんなどのチェックが行われ、チェックをパスしないと読み込まれない仕組みもあります。

Win32 APIはGDIを指していると思いますが、GDIはディスプレイ以外にもプリンターなど描画可能デバイスを抽象化しています。
Direct3Dであればグラフィックボード専用のAPIという意味でDirectです。
アプリケーションがデバイスを制限なしに自由に直接叩けるという意味ではありません。
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: DXライブラリとJava
返信数: 19
閲覧数: 6088

Re: DXライブラリとJava

実質的に何もしないプログラムでも組み方次第で簡単にCPU使用率を100%にできます。
そういうプログラムを動かすとウチのマシンも途端にファンの回転が速くなります。

動作が鈍くなるというのはアンチウィルスソフトとか関係してる可能性はないでしょうかね。
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: DXライブラリとJava
返信数: 19
閲覧数: 6088

Re: DXライブラリとJava

いまはJava2DもDirect3Dの機能を使っています。 デフォルトでDirect3Dですが、OpenGLやソフトウェアエミュレーションに切り替えることもできます。 パソコンの音がうるさくなるというのは、無駄にCPU使用率が上がっているのではないでしょうかね。 そうであればプログラムの組み方次第なので、必ずというのは不思議ですし動作が鈍くなるというのも謎です。 ウチにはJava版とDirectX版でまったく同じ内容のゲームソフトがあります。 中身は古いアーケードゲームで、速度的にはJavaが不利ですが、コンテンツとしては問題ないレベルのものです。 どちらを起動しても特に違いはなく、うるさくな...
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: DirectXの構造体名に含まれる「DESC」って何の略でしょうか?
返信数: 4
閲覧数: 5045

Re: DirectXの構造体名に含まれる「DESC」って何の略でしょうか?

MSDN Library(英語)でDXGI_SWAP_CHAIN_DESCを調べると
“Describes a swap chain.”
と書いてありますね。
Describeは動詞でDescriptionが名詞です。
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: linuxのキーボード同時押し
返信数: 7
閲覧数: 4857

Re: linuxのキーボード同時押し

キーが押されたり離されたりするのを監視し、判定したいキーがすべて押されている状態を同時押しとみなします。

キーボードイベント処理をいちいち自前で実装するのは現実的ではないので、既存のツールキットライブラリを利用するのが良いと思います。
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: 2DゲームにおけるZソート
返信数: 11
閲覧数: 7126

Re: 2DゲームにおけるZソート

グループ化という言葉は初めて聞きました。 あってるかどうかわかりませんがこんな感じでしょうか? それだと逆ですね。 描画オブジェクトを抽象化することによって、グループ化しても・しなくても同様に扱えるようにするということです。 この場合の抽象化というのは描画の仕組みを共通化することです。 描画する内容ではなく仕組みだけなので、描画しない描画オブジェクトというものも作ることができます。 例えば『描画レイヤー』です。 UI部品は常に直接ゲームに関係するグラフィックよりも手前に描画されます。 すべてのグラフィック部品の前後関係を比較してソートすると無駄が多いわけです。 UIレイヤーという描画オブジェ...
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: onDrawが呼び出せない
返信数: 3
閲覧数: 2862

Re: onDrawが呼び出せない

それはコンパイルエラーではなくてAndroid SDKのlintが発するメッセージですね。

onDrawを呼び出しているけどdrawの間違いじゃないのか?ってのがメッセージそのままの意味です。

onDrawというメソッド名はフレームワークが用意するコールバックイベントメソッドの形式なので、そういう名前の付け方は良くない。
アプリ側で呼び出して使うメソッドの名前はdrawであるのがふさわしいということです。

lintはAndroidの館ができたときにはまだありませんでした。
他にもAndoir SDKはバージョンアップしてあちこち変わっています。
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: 2DゲームにおけるZソート
返信数: 11
閲覧数: 7126

Re: 2DゲームにおけるZソート

考え方としては正しいと思います。

奥行きはその都度求めることが多いと思います。
先の回答はZソート対象リストは描画の都度、作っては消す(もちろん再利用はアリ)というふうに考えてました。

最初からリストに登録しておくのが悪いということではありませんが、Zソートが必要なオブジェクトと不要なオブジェクトをそれぞれグループ化して同様にアクセスできるよう抽象化しておくと後々何かと便利かと思います。


余談ですが、std::listやstd::shared_ptrを使うと負荷がフレームワーク側に寄り過ぎて個人的に好みではないです。
使うときは局所的に使いますね。
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: DxLibで3Dの海を作成する方法について
返信数: 12
閲覧数: 4519

Re: DxLibで3Dの海を作成する方法について

海の中を青くするのは影の生成と同じだと思います。
海上からの光線が海面を通して当たる部分に青い半透明の影が合成されるという具合です。
まずは影の生成方法をネットで調べてみてはいかがでしょうか。
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: ステンシルバッファを用いた処理とは?
返信数: 8
閲覧数: 3307

Re: ステンシルバッファを用いた処理とは?

以前ステンシルバッファを提案されたとき、GLUTの初期化を試されていたようですが、そこは解決されたのですか?
デバイスの初期化時にステンシルバッファを有効化していないので機能しないのではないでしょうか。

うろ覚えですがXcodeではステンシルバッファは拡張扱いになっていて、サーフェースにアタッチする手順が必要だとかいう記述を見た覚えがあります。
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: 新・ゲームプログラミングの館2.9の関数のSDL化
返信数: 17
閲覧数: 6616

Re: 新・ゲームプログラミングの館2.9の関数のSDL化

Hiragi(GKUTH) さんが書きました:SDLK_LASTをどこかで作られた定数だと仮定して、tmpKeyのアクセス領域をSDLK_LASTを「含まない」それ以下にし、Keyも要素を
SDLK_LAST(=323)個にして組み直しました。
仮定じゃなくてSDL_keysym.hで定義されていますけど。

13行目の終了条件だとSDLK_LASTを「含む」ようになっていますからやっぱり領域外をアクセスします。
Key配列に対する領域外アクセスも復活してます。
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: サイトを無断で利用するアプリの販売について
返信数: 9
閲覧数: 4315

Re: サイトを無断で利用するアプリの販売について

日本の著作権法では個人利用目的での複製は無制限に認められているのですけどね。
インターネットは海外も絡んでくるので難しいですが。

特定の情報をクロールして集めて表示するだけとか、ターゲットにされたサイトへの動線を奪うようなアプリだと嫌われるでしょう。
まとめサイトが嫌われるのも同じ理由ですね。
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: 新・ゲームプログラミングの館2.9の関数のSDL化
返信数: 17
閲覧数: 6616

Re: 新・ゲームプログラミングの館2.9の関数のSDL化

SDLが返すtmpKeyの要素は512も無いのであいかわらず領域外をアクセスしますよ。

SDL_keysym.hによると要素数としてSDLK_LASTが使えます。
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: ランキングを更新する関数
返信数: 4
閲覧数: 2666

Re: ランキングを更新する関数

何位に入るか調べるのと、入賞順位以下を繰り下げるのを、同時にやりたいなら、繰り下げるのは1つずつで良いです。
何位に入るか調べるのと、入賞順位以下を繰り下げるのを、分ければ、繰り下げるのをまとめてできます。
どっちかにしましょう。
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: JSONの処理2
返信数: 95
閲覧数: 27668

Re: JSONの処理2

janssonライブラリを改造してBOMに対応させるのだとすれば、間違っているとは言えないでしょう。

その前にjson_loads関数を使って周りから固めていったほうが良い気がします。
UTF-8の日本語文字列を取り出せたとしても変換する必要があるのではないでしょうか。
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: JSONの処理2
返信数: 95
閲覧数: 27668

Re: JSONの処理2

Nectさんは、json.jsonファイルをUTF-8で保存するときにメモ帳を使ったようですが、メモ帳はBOMを付加します。
janssonライブラリはBOMをテキストデータとして読み込もうとするそうです。
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: Androidの画面遷移をフェードイン・フェードアウトでアニメーションしたい
返信数: 21
閲覧数: 12836

Re: Androidの画面遷移をフェードイン・フェードアウトでアニメーションしたい

うまく動いたようで良かったです。

『エラーは出ていないのに』期待どおり動かない、とおっしゃってくださっていたら、リフレッシュを試していただくことをお勧めできたかもしれません。

むしろこちらからエラーは出てないですかと尋ねるべきだったかもしれません。
ムキになってあえて基本的な指摘をしないようになっていたようです。

こちらこそ失礼しました。
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: C言語による画像処理 画像サイズ変更
返信数: 8
閲覧数: 9258

Re: C言語による画像処理 画像サイズ変更

水平方向はRGB要素を展開したサイズで2次元配列にすれば、特に動的確保は必須とはならないかと。
添字の計算にひと手間加える必要がありますが。
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: C言語による画像処理 画像サイズ変更
返信数: 8
閲覧数: 9258

Re: C言語による画像処理 画像サイズ変更

bmpはピクセルデータの水平サイズを4の倍数にそろえる必要があります。
変換後のサイズは詰め物が必要なので、3次元配列を使ったこのコードでは対応できないのではないかと。
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: Androidの画面遷移をフェードイン・フェードアウトでアニメーションしたい
返信数: 21
閲覧数: 12836

Re: Androidの画面遷移をフェードイン・フェードアウトでアニメーションしたい

補足しておきますと、android:fromAlphaとandroid:toAlphaの属性値が0~100だと画面が激しく点滅します。
水問 さんが書きました:>画面が2秒間点滅するプログラムは作成したのですね。
>でしたらそれを提示してください。

此方がそのプログラムです。
以前のコードは、指摘された所を直し不透明度で数値を入れ替え、0~100だったのを0.0~0.1にしました。
水問さんはデバイスで動かしていないのを試したとおっしゃるのですかね。
水問 さんが書きました:あ、この流れだとまた自分で確認してくださいと言われますね。
そうですね。
水問さんはちゃんとデバイス上で動いていることを確認されたのですかね。
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: Androidの画面遷移をフェードイン・フェードアウトでアニメーションしたい
返信数: 21
閲覧数: 12836

Re: Androidの画面遷移をフェードイン・フェードアウトでアニメーションしたい

此方がそのプログラムです。 水問さんの開発環境ではxmlだけで動作確認できるのかもしれませんが、こちらでは実行形式を作らないと動作確認できないので勝手に作らせていただきました。 Android SDK+Eclipse ADTで2つのActivityを画面のタッチで切り替えるだけのアプリを作りました。 提示されたコード以外には、Activity本体のJavaソースコードとレイアウトxmlの作成変更、AndroidManifest.xmlへアニメーション設定を行いました。 提示されたコードそのままではコンパイルエラーになるのでそれを修正しました。 作成された実行形式をSDKの仮想デバイスで動かし...
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: Androidの画面遷移をフェードイン・フェードアウトでアニメーションしたい
返信数: 21
閲覧数: 12836

Re: Androidの画面遷移をフェードイン・フェードアウトでアニメーションしたい

と仰っていたのでxml/alphaのコードに対して返信したものだと考えていたのですが、関係ない話をしていたということですか その方法は、水問さん自身が 小一時間googleを使って調べてみたのですが、合いませんでした と書かれた中にあったのと機能としては同じものですが、その点についてはどうなのですか?とお尋ねしているのです。 関係ないなんてとんでもない。 すいません、(ブラウザの履歴を)一週間分しかとってなくて見つからないです。 もう一度、小一時間googleを使って調べてみたら見付かるのではないでしょうか。 以前のコードは、指摘された所を直し不透明度で数値を入れ替え、0~100だったのを0...
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: Androidの画面遷移をフェードイン・フェードアウトでアニメーションしたい
返信数: 21
閲覧数: 12836

Re: Androidの画面遷移をフェードイン・フェードアウトでアニメーションしたい

申し訳ありませんが、プログラミングのできる方であればもう少し論理的に日本語を使っていただくことはできませんか。 おっしゃっているのは >表示している画像それぞれにalpha値を適用する というところでしょうか? わたしが引用した部分にアルファ値に言及している箇所はありませんが、どうしてそう思われたのでしょうか。 これは文面通り、「画像の透明化」に対しての否定です。 使用するのはActivityを画面遷移時に透明化する処理です。 リンク先で解説している機能と違うのではありませんか? xmlだけで記述されているという事にのみ焦点を当ててもらっても困ります。 わたしが引用した部分はxmlを使用しない...
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: FPSまたは小数点以下の計算について
返信数: 10
閲覧数: 6159

Re: FPSまたは小数点以下の計算について

60分の1秒以下の遅延が実際に知覚できるということですね。

そうなるとマルチスレッドにして高精度タイマを監視するということになりますかね。
そっちに負荷が掛かり過ぎて音楽再生そのものが遅延する可能性が無きにしも非ずですが。
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: 構造体の二次元配列を動的に確保する方法について
返信数: 12
閲覧数: 5870

Re: 構造体の二次元配列を動的に確保する方法について

根本的な問題として、添字が要素番号を表す箇所と要素数を表す箇所の区別ができていないのでは。
+1とか-1とか行き当たりばったりなのが見るからに明らかで添字の変化に頭が追い付いていないと思います。

とりあえず、メモリ確保もファイルの読み書きも後回しにして、添字とかサイズとか使用する数値の確認作業を行うべきかと。

意味もなくnewを使うくらいならvector使ったほうが良い気がします。
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: FPSまたは小数点以下の計算について
返信数: 10
閲覧数: 6159

Re: FPSまたは小数点以下の計算について

モニタのリフレッシュレートが60ですので、60fps(1秒間に60回)calc()が呼ばれるという「設定」にしてます。 ですので、上記の「timing = 3.166666」と「count」をif(count >= timing)とやってもcount = =4のときに処理が行われてしまい、音の鳴るタイミングがずれていってしまうので困っているという状況です。 困っているのは、音の鳴るタイミングがずれていってしまうことでしょうか。 『いってしまう』というということはズレが累積することを表しているようです。 (最大)60分の1秒のズレが気になるということではないのでしょうか。 個々のズレが60分の...
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: 自機ショットについて
返信数: 2
閲覧数: 1356

Re: 自機ショットについて

弾画像をロードするLoadGraph関数が外部変数の初期化で使用されています。

これだとDxLib_Init関数を呼び出す前に実行されるので、LoadGraph関数は必ず失敗します。

グラフィックハンドルの値を確認すれば、値が-1となっており、失敗していることが分かるはずです。
by ISLe
10年前
フォーラム: C言語何でも質問掲示板
トピック: [C++] privateのメンバ変数の値を取得したい
返信数: 7
閲覧数: 6114

Re: [C++] privateのメンバ変数の値を取得したい

>usaoさん
そういうことであれば

privateメンバ変数の参照かポインタを返すメンバ関数を用意し、その戻り値を保持して使えばいつでも外部からアクセスできます

という回答もOKということになりますかね。

C++のクラスを勉強中でコンソールゲームを作っている、という背景を考慮した回答をしたつもりですが。

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