物凄い勢いで誰かが質問に答えるスレ@ゲーム製作技術
レス数が1000を超えています。これ以上書き込みはできません。
0001名無しさん@お腹いっぱい。
01/11/08 16:25ID:UqwL7E48知ってたら即、答えるし、知らんかったら知らんと書け。
検索なんかクソでも喰っとけヨ!
教えて君以外は逝ってヨシ!
【鉄の掟】
一、かぶっても泣かない。
一、出された質問は残さず答える。
一、マンモス村田のギャグには大爆笑する
0956名前は開発中のものです。
02/06/26 22:45ID:???組み合わせによって同時入力できないのはハードウェアの問題だったと思う
0957名前は開発中のものです。
02/06/27 08:51ID:???キーボードによっては3ボタン以上の同時押しができない。
押せない組み合わせも種類によって変わる。
>956の言う通りハードウェアの問題なので、DirectInputをつかっても解消できない。
0958955
02/06/27 08:53ID:ZI.FWJ1gおとなしくジョイスティック使えって事ですね……
0959名前は開発中のものです。
02/06/27 19:48ID:???DirectX7で作成したウィンドウをFullScreen→Windowへモード変更した際、
タスクバーがおかしくなる現象がでます。描画更新されてないようです。
MediaPlayerを終了させるとタスクバーは元にもどるのですが、
これはMediaPlayerの仕様ですかね?それともこちら側のバグなんでしょうか?
0960名前は開発中のものです。
02/06/27 20:49ID:???0961名前は開発中のものです。
02/06/27 23:20ID:???0962名前は開発中のものです。
02/06/27 23:21ID:???0963名前は開発中のものです。
02/06/28 01:13ID:???ここのパッチ当てたら直りました…・゚・(ノД`)・゚・。
0964名前は開発中のものです。
02/06/28 03:23ID:???0965名無しさん
02/06/28 11:03ID:???0966名前は開発中のものです。
02/06/28 13:27ID:???IMEに「再変換」の機能もついてないの使ってるの?
0967名前は開発中のものです。
02/06/28 13:40ID:???で、下のコードがなにをやってるのかわかりません。誰か説明してくれませんか?
template<typename T> class Singleton
{
static T* ms_Singleton;
public:
Singleton()
{
int offset = (int)(T*)1 - (int)(Singleton<T>*)(T*)1;
ms_Singleton = (T*)((int)this + offset);
}
...
}:
クラステンプレート自体のサイズとTのサイズを足したものをシングルトンに
割り当ててるのかな?と思いますが、newした時点で割り当てられたアドレスの
後方を指してるような気がして不安です。よろしくお願いします。
0968名前は開発中のものです。
02/06/28 18:17ID:???例えばxファイルなんかで、と言う意味です。
0969名前は開発中のものです。
02/06/28 19:43ID:???operator newなんかがオーバーライドされてない?
0970名前は開発中のものです。
02/06/28 19:48ID:???もしかしてたとえばパンチのモーションなら
腕を引いたモデル
伸ばしている途中のモデル
伸びきったモデル
戻しているモデル
があると思っていない?
2Dならそれで正解だけど、3Dだとモデルとモーションデータは
別物だよ。(100%そうだとも言わんが・・・)
モーションデータは各タイミングでどの関節をどの方向にどのくらい曲げているかという
データの集合として作られることが多い。
全てのタイミングのモーションを用意するのはまず不可能なので、途中の
モーションはプラグラム的に補完したりする。
0971名前は開発中のものです。
02/06/28 19:59ID:???C++の内部構造はよくわからないが
offsetってのは、その名の通りSingleton<T>クラスのインスタンスのポインタから
Tクラスのインスタンスのポインタへのオフセットだろう。
1って数字は問題じゃない。いくつでもいい、
0で無い事に意味がある。本の受け売りだけどな。
んで、
(T*)((int)this + offset);
は、新たにSingleton<T>クラスのインスタンスが生成されたとして
そのSingleton<T>のインスタンスに属する?Tクラスのインスタンスの位置を
求めてる訳だ。
それをスタティックの箱に入れてやると。
つまりms_Singletonには、最後に生成されたTクラスのインスタンスのポインタが
入ることになる。
・・・と思う。間違ってたら誰かフォローよろしこ。
0972名前は開発中のものです。
02/06/28 20:12ID:??????
一枚のxファイルにアニメーションをするために必要なデータ全てが含まれているわけではないですか?
もちろんそれを解釈して動かすのはプログラムですが。
0973967
02/06/28 21:27ID:???>>969
いえ、本の中ではオーバーライドされていませんでした。
>>971
試しに2,3のクラスで使用してみたところ、どうもoffsetの値は
0になるようでした。
説明不足だったので申し訳ありませんがSingletonクラスは
たとえば class CTextureMgr: public ISingleton<CTextureMgr>
のように使うようです。はっきり言って私の頭ではこれだけでもチンプンカンプンですが、
無理やり自分を納得させるため次のように考えてみました。
クラステンプレートはコンパイル時に展開?されるために、本来ならば
ベタに同じことを書いたクラスのサイズと一致しなければならないが、
コンパイラによってはそうならないかもしれない。
そのための保険としてオフセットを求め、それをスタティックな変数(シングルトン)
に代入している。
…思いっきり見当はずれなことを言ってるかもしれませんね
0974八神庵
02/06/28 22:45ID:gLc5XGq6たしか「ジセコン」とか書いているページがあったと思います
できたら、そこのURL教えてくれませんか?
0975名前は開発中のものです。
02/06/28 23:13ID:???そうですな。
彼はアニメつきのXファイルの中身をみたことないと思われ。
0976名前は開発中のものです。
02/06/28 23:37ID:???簡単だよ。
class A : public Base, public ISingleton<A> { };
この場合を考えてみな。
0977名前は開発中のものです。
02/06/28 23:55ID:???とりあえず、VBに手を出してみたんですが、いまいち思ったとおりのものが作れそうに無いです。
0978名前は開発中のものです。
02/06/29 00:08ID:???0979名前は開発中のものです。
02/06/29 00:13ID:???0980名前は開発中のものです。
02/06/29 00:14ID:???こみっくめーかー?
なんぢゃそりゃ?
0981名前は開発中のものです。
02/06/29 00:19ID:???0982名前は開発中のものです。
02/06/29 00:22ID:???0983名前は開発中のものです。
02/06/29 00:27ID:???0984名前は開発中のものです。
02/06/29 00:27ID:???ゲームを作りたいのが言語をマスターしたいのかどっちなんだよ(w
0985名前は開発中のものです。
02/06/29 00:30ID:???ゲームを作れる言語をマスターしたいのです。
0986名前は開発中のものです。
02/06/29 00:36ID:???人に聞く前に手を動かせ
0987名前は開発中のものです。
02/06/29 00:36ID:???0988名前は開発中のものです。
02/06/29 00:37ID:???0989名前は開発中のものです。
02/06/29 00:37ID:uNPXzVbUすんまそーん、わからんす。
後学の為に教えて。
0990名前は開発中のものです。
02/06/29 00:40ID:???出直してきます。
0991名前は開発中のものです。
02/06/29 00:41ID:???多重継承した場合、
アップキャストしたときにベースポインタ(this)がずれるから、
そのoffset値を算出している。
0992名前は開発中のものです。
02/06/29 00:58ID:uNPXzVbUよくわかりました。ありがとうございます。
というか>>971のソースって、新しくTを作る度に
ms_Singletonの中身がころころ変わりますよね。
何個Tをnewしても、得られる実体は1つだけってのが
シングルトンだと思うんでなんか変なような気がする。
0993名前は開発中のものです。
02/06/29 01:00ID:???クラスインスタンスはSingleton<T>ごとに1つずつ作られる。
Singleton<int>とSingleton<float>は別物。
0994名前は開発中のものです。
02/06/29 01:07ID:uNPXzVbUでも、Singleton<float>とSingleton<float>と
2つ作ったら、その度にms_Singletonは上書きされるだけで
結果、Singleton<float>のインスタンスが2つあることになりませんか?
Singleton<float>の派生クラスへのアクセスは
必ずms_Singletonを介さなければならないとか制限がつくんでしょうか?
0995名前は開発中のものです。
02/06/29 01:11ID:???ム板のGenericスレで聞いてくるがヨロシ
0996名前は開発中のものです。
02/06/29 03:18ID:sCuvX7NEそうします。ありがとうございました。
0997名前は開発中のものです。
02/06/29 04:27ID:???わざと最低限の機能しか持たされてない様だから、好きなように拡張して
使えと言う事でしょ。
さすがにこのままのソースだと使う時に注意が必要すぎて厳しい。
所で次スレもうあるの?
0998名前は開発中のものです。
02/06/29 04:37ID:???0999名前は開発中のものです。
02/06/29 04:39ID:???1000名前は開発中のものです。
02/06/29 04:39ID:???物凄い勢いで誰かが質問に答えるスレ@ゲーム製作技術
http://game.2ch.net/test/read.cgi/gamedev/1025293138/
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。