トップページgamedev
1001コメント378KB

【初心者】スレを立てる前にココで質問を【Part20】

レス数が1000を超えています。これ以上書き込みはできません。
0001名前は開発中のものです。2009/09/29(火) 07:08:29ID:OO8C9kYO
疑問に思うことがあれば、スレを立てずに、まずはココで質問。
スレッドを立てる前にはローカルルールを読みましょう。
http://pc11.2ch.net/gamedev/

>>980 を踏んだ人は次スレ立てをお願いします。
【アップローダ・避難所・Wiki】
ゲーム製作技術板公式Wiki
http://wiki.game-develop.com/

ゲーム製作技術板公式アップローダ
http://gmdev.xrea.jp/

ゲーム製作技術板予備(機能停止中?)
http://yy13.kakiko.com/gamdev/

アップローダー予備
http://gamdev.hp.infoseek.co.jp/

gamdev.orgが落ちるたびにあげてみるスレ
http://pc11.2ch.net/test/read.cgi/gamedev/1107022166/
09809592010/03/30(火) 17:23:08ID:P6m6KDQV
>>960
メイリオにしてます。全角文字は等幅のようですが、半角はプロポーショナルらしいので、
1文字の幅が一定という前提で計算することはできません。

そんなわけで、文字列は基本的に行ごとに格納しています。ルビの場合はそこで分割。
1行目、2行目A、2行目B(ルビ付)、2行目C、3行目のような感じで。
フォントクラスは改行文字も処理できるので、1行目と2行目Aはくっつけてもいいかもしれませんが。

>どうせやるんなら自分で考えたほうが自分のためになるよ。
頑張って自分で組もうとしてみました。
行末に禁則文字があった場合は、後ろの1文字も含めて次の行に送り出すようにしてみましたが
ルビ→改行→句読点のようになっていると、句読点が行頭に出てきてしまったりします。
まぁ、そのうちなんとかなるでしょう

>>961
吉里吉里ってソース公開されているんですね。見てみます!
かなり本格的なシステムなようなので、読むのが難しそうですが・・
0981名前は開発中のものです。2010/03/30(火) 22:38:48ID:KLyZQc5S
>>979
個人的には XY→角度→XY に戻すのは好みじゃないな
動作はXYだけで完結しておいて、角度を求めるのは表示するときのみ一方通行の変換にしたくなる

double x, y, z;// 現在位置
double ix, iy, iz;// 現在の移動ベクトル
double tx, ty, tz;// 現在位置からターゲットへの相対位置
double dis;// ワーク

dis = sqrt(tx*tx+ty*ty+tz*tz);
if(dis > 0){ dis = 方向転換力/dis; ix+=tx*dis; iy+= ty*dis; iz+=tz*dis; }
dis = sqrt(ix*ix+iy*iy+iz*iz);
if(dis > 0){ dis = スピード/dis; ix*=dis; iy*=dis; iz*=dis; }

今適当に書いたから間違ってたらゴメン
0982名前は開発中のものです。2010/03/30(火) 23:01:15ID:5dN9Twcu
>>980
WindowsならWinAPIのGetCharABCWidths使って>>960の考え方でがんばれば計算できるんじゃね?
09839792010/03/31(水) 04:22:17ID:hQL22suv
>>981
ありがとうございます。
試してみます。
0984名前は開発中のものです。2010/03/31(水) 04:46:03ID:D+e8+dQG
double だから dis == 0 ってなるか?と思う
0985名前は開発中のものです。2010/03/31(水) 08:30:33ID:6wc3W2mV
>>963のプログラムってどういう感じに働いてるんだろ
自分のとは全然違ってて新感覚
0986えいいち ◆GRGSIBERIA 2010/03/31(水) 10:12:53ID:sNcLJd0Y
>>984
if (!(dis ^ dis))で動くんじゃね?
0987名前は開発中のものです。2010/03/31(水) 15:49:04ID:G3DP0Tku
x, y, z;// 現在位置
ix, iy, iz;// 現在の移動ベクトル
tx, ty, tz;// 現在位置からターゲットへの相対位置

sx=tx-ix, sy=ty-iy, sz=tz-iz;//舵力ベクトル
dis=sqrt(sx*sx,sy*sy,sz*sz);
ix+=舵力*sx/dis, iy+=舵力*sy/dis, iz+=舵力*sz/dis;

dis = sqrt(ix*ix+iy*iy+iz*iz);
if(dis > マックススピード){ dis = マックススピード/dis; ix*=dis; iy*=dis; iz*=dis; }
では?
0988名前は開発中のものです。2010/03/31(水) 18:33:34ID:SSvnJ33T
const double speed = 8.0f; // スピード(サンプル)
double dx = targetX - fromX;
double dy = targetY - fromY;
double dz = targetZ - fromZ;
double dis = sqrt(dx*dx+dy*dy+dz*dz);
double vectorX = dx/dis; //cos(atan2(dy, dx));
double vectorY = dy/dis; //sin(atan2(dy, dx));
double vectorZ = dz/dis;
vectorX = vectorX * speed;
vectorY = vectorY * speed;
vectorY = vectorZ * speed;

>>979のサンプル参考にするならこうじゃない?
確実に追撃する凶悪ホーミングになりそうだけど
0989名前は開発中のものです。2010/03/31(水) 18:42:48ID:SSvnJ33T
質問です
データのロード中にプログレスバー的なものやアニメーションを表示させたいのですが
どのようにしたらよいでしょうか?
参考になるようなサイトとかないでしょうか?
C言語+DXライブラリを使用しています
0990名前は開発中のものです。2010/03/31(水) 20:22:34ID:82KmLTbO
スレッド分けたら?
0991名前は開発中のものです。2010/03/31(水) 20:35:56ID:KdGg28RJ
>>989
ロードに何十秒もかかるような、大規模なゲームを作るわけじゃないと仮定して。

毎フレームにつき1つずつデータファイルを読み込んで、
そのフレームの描画タイミングで進捗具合を表示すれば、別に問題ないと思う。
0992名前は開発中のものです。2010/03/31(水) 21:27:40ID:6jaz5Vk+
どう考えても>>989のやりたいことは>>990だろ
0993名前は開発中のものです。2010/03/31(水) 21:30:06ID:Kyry7wz+
デジャブー
09949892010/03/31(水) 22:01:27ID:SSvnJ33T
ありがとうございます
スレッドっていうのがあるんですね
ちょっと調べてみます
09959592010/03/31(水) 22:53:59ID:mll2egdJ
なんとか解決・・・したと思うので一応報告を。句読点の前にルビ付きの文字列が前にあるような場合は
それごと次の行に送り出すようにしました。(ルビ付きの文字は分離禁止にしたいので)

ルビ付き文字列だけで1行占めているような場合(多分ないと思いますが)は永遠に次の行に送られ続けて
フリーズするかもしれませんが、その場合は諦めて改行するようにすれば良いでしょう。

>WindowsならWinAPIのGetCharABCWidths使って>>960の考え方でがんばれば計算できるんじゃね?
自分で書いたものではないのですが、特定の文字列の幅を取得する処理は出来ていました。
(Windows上だけど、マルチプラットフォーム対応のためFreeType2使用)
0996名前は開発中のものです。2010/04/01(木) 00:57:47ID:2efbVZje
>>994
DXライブラリはスレッドセーフじゃなかったはずなので注意な。
複数スレッドからDXライブラリの関数を呼ぶならロックが必要。

まだスレッドを知らないレベルなら、
>>991のやり方にしといたほうがいい気もするけど
0997名前は開発中のものです。2010/04/01(木) 16:50:19ID:o7wXbEPN
スレチでしたら、誘導お願いできると助かります

http://iup.2ch-library.com/i/i0074732-1270108177.jpg

ADVゲームなどのシナリオのルート管理で
図のようにルート分岐などを管理できて、四角ごとにシナリオが書き込め、
その四角を任意に移動、編集が可能なテキストエディタを探しています。
livemakerをご存知の方は、livemakerのチャートを思い浮かべて頂ければいいと思います。

お心当たりの方がいらっしゃったら、情報、ご助言よろしくお願いします
0998名前は開発中のものです。2010/04/01(木) 18:12:30ID:Pt9ShRpA
そういうのってアウトラインプロセッサというらしい
このサイトの下のほうでいろいろ紹介されてるよ
http://pctraining.s21.xrea.com/knowledge_tools/outline-proccessor.html
0999名前は開発中のものです。2010/04/01(木) 20:58:19ID:BQHLBARM
YuukiNovel
1000名前は開発中のものです。2010/04/01(木) 23:56:16ID:qRZRp6CX
1000げt
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。