※回答する人も、質問する人も必ず読んでください
【 回答してくださる方 】
・ できるだけ優しく質問に答えてあげてください。
・ 優しく教えるのが嫌でしたら、解決するためのヒントだけでも結構です。
「ググれ」以外の回答でおながいします。
・ 神ですら理解不能な質問は無視して下さい。
【 質問する香具師 】
・ どんな事で躓いているのか明確にしる。
・ 長くならないなら躓いている部分のコードを晒してみれ。
・ 解決した場合、お礼を言うのは当然だが、何をどうしたら解決したかを明確に書け。
Windowsゲームプログラミング 質問スレ
■ このスレッドは過去ログ倉庫に格納されています
1うゆ ◆vvvK3Fcqdg
2008/11/06(木) 21:28:45ID:lNn2skuQ296名前は開発中のものです。
2009/05/06(水) 22:44:47ID:31BsjZ7x297名前は開発中のものです。
2009/05/06(水) 22:47:21ID:JPAy5CO1 格ゲーは当たり判定と状態の塊だ。
まぁHSPで状態管理するのは大変だろうね。
まぁCやC++を使ったからといって楽になるというものでもないが。
しかしそれよりも、余計なことを考えて手を止めるのが一番よくない。
せっかくHSPを使い始めたんだから、とにかく猪突猛進に雛形を作ってみるんだ。
まぁHSPで状態管理するのは大変だろうね。
まぁCやC++を使ったからといって楽になるというものでもないが。
しかしそれよりも、余計なことを考えて手を止めるのが一番よくない。
せっかくHSPを使い始めたんだから、とにかく猪突猛進に雛形を作ってみるんだ。
298名前は開発中のものです。
2009/05/06(水) 22:51:20ID:JuuuPdEY299名前は開発中のものです。
2009/05/06(水) 22:53:45ID:31BsjZ7x300名前は開発中のものです。
2009/05/06(水) 22:58:53ID:S6pkCKb4 個人なら書けるので書きゃいいのに○○のほうがいいですかとか
そもそも解らなけりゃ違いも判らんだろうよ。
まず作れ。話はそれからだ
そもそも解らなけりゃ違いも判らんだろうよ。
まず作れ。話はそれからだ
301名前は開発中のものです。
2009/05/07(木) 22:22:40ID:xXXFn8bD >>294
経験ゼロから2日で簡単なシューティング作るって何気にスゲーな
メルティブラッドってYoutubeくらいでしか見たことないが、
あの辺まで目指すんならC++にしといた方がいいと思う。
もしくはHSPでもっと簡素なゲームを作ってみるか。
経験ゼロから2日で簡単なシューティング作るって何気にスゲーな
メルティブラッドってYoutubeくらいでしか見たことないが、
あの辺まで目指すんならC++にしといた方がいいと思う。
もしくはHSPでもっと簡素なゲームを作ってみるか。
302名前は開発中のものです。
2009/05/10(日) 18:30:54ID:dU5vID34 RPGの戦闘部分を作ってるんですが、ターン制(ドラクエ)のようなものはどういう風に順番が決まるんでしょうか?
すばやさに乱数を加算除算して順番を決めるのは分かるのですが、同じ数値の人が来たときにはどういう処理が良いでしょう?
動的配列を作り、配列[3]等として順番を決めよう・・と思ってたらなんだか頭の中が混乱してきましたorz
同じものに対して順番を決める、という処理はどうするのが一般的でしょうか?
すばやさに乱数を加算除算して順番を決めるのは分かるのですが、同じ数値の人が来たときにはどういう処理が良いでしょう?
動的配列を作り、配列[3]等として順番を決めよう・・と思ってたらなんだか頭の中が混乱してきましたorz
同じものに対して順番を決める、という処理はどうするのが一般的でしょうか?
303名前は開発中のものです。
2009/05/10(日) 18:36:29ID:FZlRfxit 見つかった順番か、もう一度乱数を引く
304名前は開発中のものです。
2009/05/10(日) 18:39:25ID:dU5vID34305名前は開発中のものです。
2009/05/27(水) 17:17:29ID:seiL/yBx 実際ゲーム作ってみるといかに市販のゲームが細かいところまで作られてるかわかるよな・・・
306名前は開発中のものです。
2009/05/27(水) 17:37:40ID:ooeFDaTf しかしあのスタッフロールの長さは異常
307名前は開発中のものです。
2009/06/07(日) 02:22:52ID:iHKxpSHX308名前は開発中のものです。
2009/06/07(日) 02:40:26ID:XgZ1BVy+ 常識で考えろ
309名前は開発中のものです。
2009/06/07(日) 03:08:08ID:iHKxpSHX 貴方の常識なんてどうでもいいんです
事実が知りたいんです
事実が知りたいんです
310名前は開発中のものです。
2009/06/07(日) 05:28:36ID:XgZ1BVy+ 俺の常識は持ち出してないつもりだが
311名前は開発中のものです。
2009/06/07(日) 09:37:33ID:830nrNph ここで誰かが答えたとして、それが事実だと信じるのか。
結局自分で調べない事には事実かどうかなんてわからんぞ。
結局自分で調べない事には事実かどうかなんてわからんぞ。
312名前は開発中のものです。
2009/06/07(日) 15:25:03ID:iHKxpSHX それじゃこのスレいらねーじゃん
くだらね
くだらね
313名前は開発中のものです。
2009/06/07(日) 15:31:33ID:iHKxpSHX つか、使える意見を言えない奴が分かったような顔して偉そうにしてると社会では痛い目みるぞ
314名前は開発中のものです。
2009/06/07(日) 17:03:36ID:oeT3VEAp 社会(笑)
315名前は開発中のものです。
2009/06/07(日) 18:07:55ID:M6h6jWTy そりゃクレクレ厨は痛い目に遭うだろうねw
316名前は開発中のものです。
2009/06/08(月) 17:05:24ID:mawEHegr 社会があまねく有益な意見で満たされて居たら、さぞかし過ごしやすかろうなあ
317名前は開発中のものです。
2009/06/09(火) 09:47:49ID:ruRVuuZj 有益な意見には耳を塞ぐくせに
何言ってんだ
何言ってんだ
318名前は開発中のものです。
2009/06/26(金) 22:36:27ID:x76xIHaA マイケルの夢は空へ消えた
つまり
◎マイネル
○ドリジャ
▲デスカ
だなw
つまり
◎マイネル
○ドリジャ
▲デスカ
だなw
319名前は開発中のものです。
2009/06/28(日) 22:39:34ID:3N82CdXt C++でブロック崩しを作っているのですが、玉の種類を増やそうと思っています
玉の制御はスクリプトで書こうと思っているのですが、
pythonかluaのどちらかだとしたら、どちらがいいと思いますか?
参考にしたいので意見をおしえてください
玉の制御はスクリプトで書こうと思っているのですが、
pythonかluaのどちらかだとしたら、どちらがいいと思いますか?
参考にしたいので意見をおしえてください
320名前は開発中のものです。
2009/06/28(日) 23:36:19ID:hGHmXBpJ どちらもだめ
制御はC++が向いている
制御はC++が向いている
321名前は開発中のものです。
2009/07/10(金) 16:03:53ID:GcVAWp8q http://www.dotup.org/uploda/www.dotup.org221278.7z.html
スクリーン全体を書き換えるやり方だと無駄が大きいので、キャラクターが前にいた場所だけ書き換えるやり方に変更した。なぜか、知らないが、時々残像ができる。治す方法があったら教えてほしい。
プラットフォーム:XNA 3.0
・drawの処理
if (is_scrolled)
{
m.drawAll(g, view_point.X, view_point.Y, 0, 0, m.WidthOnScreen(g), m.HeightOnScreen(g));
is_scrolled = false;
}
else
{
//スクリーン上の座標を求める
Point p = m.getPointOnScreenAsMap(g, new Point(player.oldx, player.oldy));
//24*32dotのキャラクターに対応するため
m.drawAll(g, player.oldx, player.oldy, p.X, p.Y, player.width + 1, player.height);
}
スクリーン全体を書き換えるやり方だと無駄が大きいので、キャラクターが前にいた場所だけ書き換えるやり方に変更した。なぜか、知らないが、時々残像ができる。治す方法があったら教えてほしい。
プラットフォーム:XNA 3.0
・drawの処理
if (is_scrolled)
{
m.drawAll(g, view_point.X, view_point.Y, 0, 0, m.WidthOnScreen(g), m.HeightOnScreen(g));
is_scrolled = false;
}
else
{
//スクリーン上の座標を求める
Point p = m.getPointOnScreenAsMap(g, new Point(player.oldx, player.oldy));
//24*32dotのキャラクターに対応するため
m.drawAll(g, player.oldx, player.oldy, p.X, p.Y, player.width + 1, player.height);
}
322toya
2009/07/12(日) 01:04:32ID:+auraSRZ seisho53pe-ji
323名前は開発中のものです。
2009/07/12(日) 10:59:23ID:yE1osiWd ファイル無いと言われたわ
324名前は開発中のものです。
2009/07/12(日) 23:06:56ID:Pm94PkQG325名前は開発中のものです。
2009/07/13(月) 18:38:14ID:IC1GLBGZ うーん、突っ込むところ多いけど、、、
とりあえずぶつかった時のundoがx,yを戻してるけど
移動時はxだけ、yだけ保存だから戻すときずれて残像になってるね
ほかにもあるみたいだけど、、、これから帰宅なのでまた・・・
関数のコメントは // じゃなくて /// がお勧め
とりあえずぶつかった時のundoがx,yを戻してるけど
移動時はxだけ、yだけ保存だから戻すときずれて残像になってるね
ほかにもあるみたいだけど、、、これから帰宅なのでまた・・・
関数のコメントは // じゃなくて /// がお勧め
326名前は開発中のものです。
2009/07/13(月) 20:38:23ID:rYbn9Phm >>325
理由はなに? > //->///
理由はなに? > //->///
327名前は開発中のものです。
2009/07/13(月) 20:54:40ID:r/cCOFUb //より///の方が気恥ずかしさと健気さがより際立つ
328名前は開発中のものです。
2009/07/13(月) 20:59:01ID:rjiSz6yn (//ω//)→(/*/ω/*/)
329名前は開発中のものです。
2009/07/13(月) 23:04:03ID:m7y/L96o てか、最強のプログラム言語ってぶっちゃけどれよ
330名前は開発中のものです。
2009/07/13(月) 23:19:08ID:NIAmNvGo 最強とか聞いちゃう人は黙ってC#使うのが最強なんじゃないかな
331名前は開発中のものです。
2009/07/13(月) 23:59:24ID:E7cdGbOK 最強論に対極は付き物、高級言語の対極にあるハンドアセンブルを極めてはどうか
332名前は開発中のものです。
2009/07/14(火) 00:11:31ID:pOq3rm7P それは確かに最強だ。
333名前は開発中のものです。
2009/07/14(火) 09:16:51ID:4Xpi43sp いっそハードを極めてはどうか
334名前は開発中のものです。
2009/07/14(火) 10:11:20ID:n67BwWQX335名前は開発中のものです。
2009/07/14(火) 19:29:22ID:A7Jso/3Q IDE
336名前は開発中のものです。
2009/07/14(火) 19:30:39ID:A7Jso/3Q IDEなら何でも自動に追加されると思うなよ
337名前は開発中のものです。
2009/07/14(火) 20:20:15ID:7qnK4jbf VisualStudioと書くと突っ込まれそうだったから
無難な言葉を使ったが
結局何言っても同じなんだよな
ただ口はさみたいだけ
無難な言葉を使ったが
結局何言っても同じなんだよな
ただ口はさみたいだけ
338名前は開発中のものです。
2009/07/14(火) 20:24:08ID:7qnK4jbf 一応言っておくけど質問した人が
何使っているかは把握した上での
レスだからね
何使っているかは把握した上での
レスだからね
339名前は開発中のものです。
2009/07/14(火) 20:29:42ID:p3cJHfZl340名前は開発中のものです。
2009/07/14(火) 23:16:39ID:msfsUkAz341名前は開発中のものです。
2009/07/15(水) 03:33:48ID:oAaV9htY >>340
lisp嫌いじゃないけど、最強というには、人によってコードがバラバラすぎてなぁ・・・・。
やっぱし、今時はTeam開発をしっかりと前提にできるものが良いと思う。
よって、C++
C++もテンプレ入り乱れまくりやなんやすると、途端に霧の中に為ってしまうけど・・・・。
lisp嫌いじゃないけど、最強というには、人によってコードがバラバラすぎてなぁ・・・・。
やっぱし、今時はTeam開発をしっかりと前提にできるものが良いと思う。
よって、C++
C++もテンプレ入り乱れまくりやなんやすると、途端に霧の中に為ってしまうけど・・・・。
342名前は開発中のものです。
2009/07/15(水) 08:49:05ID:wvQDgYgC 最強はマシン語だろ。
343名前は開発中のものです。
2009/07/15(水) 12:29:04ID:ozTsOauR 「最強のプログラム言語」とか言っちゃってる奴はまず日本語を勉強してこいよ
344名前は開発中のものです。
2009/07/15(水) 20:47:11ID:vgHuQMIa C++なんて無思想ごちゃまぜ言語じゃないか
言語にコーディング規約的なものまで求めるなら
JavaやC#が最強
言語にコーディング規約的なものまで求めるなら
JavaやC#が最強
345名前は開発中のものです。
2009/07/17(金) 10:39:57ID:WnY7CWjL qwertyuioasdfghzxcvb
346名前は開発中のものです。
2009/08/16(日) 09:50:39ID:mUJcX4L/ HelloWorldのソースこんぱいるするだけでとまどったな
347名前は開発中のものです。
2009/08/16(日) 19:14:24ID:55Gu4o4r 初めはそんなもんでしょ
コンパイラの使い方も併せて学ぶ段階だし
コンパイラの使い方も併せて学ぶ段階だし
348名前は開発中のものです。
2009/08/18(火) 19:55:07ID:GrHz78T5 95時代に作った自作ゲームをVista対応化させようとしているのですが、
たとえばゲーム成績のランキングをそのPCの全アカウントで共有するためには
ゲームを管理者実行させるほかに手はないのでしょうか?
たとえばゲーム成績のランキングをそのPCの全アカウントで共有するためには
ゲームを管理者実行させるほかに手はないのでしょうか?
349名前は開発中のものです。
2009/08/18(火) 20:49:11ID:Jhv90Vd4 >>348
ランキングデータの属性を誰でも読み書き可にすればいいんじゃないの?
ランキングデータの属性を誰でも読み書き可にすればいいんじゃないの?
350名前は開発中のものです。
2009/08/18(火) 21:03:05ID:CP6QXV5y C:\Users\Public\
に作ればいいんじゃね
やったことないので推測だけど
に作ればいいんじゃね
やったことないので推測だけど
351名前は開発中のものです。
2009/08/18(火) 21:55:10ID:lURobZwZ サービスプログラムを作れ
352名前は開発中のものです。
2009/08/18(火) 22:09:00ID:GrHz78T5353名前は開発中のものです。
2009/08/19(水) 02:30:02ID:y+Txo86j 放物線を描こうとしてるんだが、斜め上にうまく打ち出せない。詳しい人がいたら教えてほしい。
public struct NextpointParam
{
public double vx, vy, x, y, dx, dy, sx, sy,e, m;
}
const double g = 9.8,rotSpeed = 3;
double dt;
//ループ前に実行する
public NextpointParam calcArrivalTime(NextpointParam cmd, int rot)
{
dt = cmd.vx / 120.0;
double rad = rot * Math.PI / 180;
double subx = Math.Abs(cmd.dx - cmd.sx),suby = Math.Abs(cmd.dy - cmd.sy);
if (cmd.dx != cmd.sx)
{
double t = -(2 * subx * Math.Sin(rad)) / (Math.Cos(rad) * g * dt) + (2 * suby / (g * dt));
t = Math.Sqrt(Math.Abs(t));
cmd.vx = subx / t;
cmd.vy = cmd.vx / Math.Cos(rad) * Math.Sin(rad);
}
return cmd;
}
//ループごとに実行する
public NextpointParam calcElliptical(NextpointParam cmd)
{
double vx = cmd.dx - cmd.sx > 0 ? cmd.vx : -cmd.vx;
cmd.vy += g * dt;
cmd.x += vx;
cmd.y += cmd.vy;
return cmd;
}
public struct NextpointParam
{
public double vx, vy, x, y, dx, dy, sx, sy,e, m;
}
const double g = 9.8,rotSpeed = 3;
double dt;
//ループ前に実行する
public NextpointParam calcArrivalTime(NextpointParam cmd, int rot)
{
dt = cmd.vx / 120.0;
double rad = rot * Math.PI / 180;
double subx = Math.Abs(cmd.dx - cmd.sx),suby = Math.Abs(cmd.dy - cmd.sy);
if (cmd.dx != cmd.sx)
{
double t = -(2 * subx * Math.Sin(rad)) / (Math.Cos(rad) * g * dt) + (2 * suby / (g * dt));
t = Math.Sqrt(Math.Abs(t));
cmd.vx = subx / t;
cmd.vy = cmd.vx / Math.Cos(rad) * Math.Sin(rad);
}
return cmd;
}
//ループごとに実行する
public NextpointParam calcElliptical(NextpointParam cmd)
{
double vx = cmd.dx - cmd.sx > 0 ? cmd.vx : -cmd.vx;
cmd.vy += g * dt;
cmd.x += vx;
cmd.y += cmd.vy;
return cmd;
}
354353
2009/08/19(水) 02:31:20ID:y+Txo86j 実行環境:C#3.0
355名前は開発中のものです。
2009/08/19(水) 10:25:19ID:zkIhyE9m >>353
vx,vyは速度だと思うが、dt = cmd.vx / 120.0;ってのは何?
120ってどこから出てきた数字?
sx,syからdx,dyに向かって放物線を描く弾をrotの角度で撃ちたいってことでいいんだよね?
それって解無しの場合があるが、その処理が全く入ってないんじゃないか?
sx,syから見てdx,dyがa度の位置にある場合、発射角がa度以下では絶対に届かない。
発射角がちょうどa度だと初速は∞になる。
初期条件の与え方に問題があるかと。
着弾点を指定したいなら、普通は角度は初期条件で与えない。
vx,vyは速度だと思うが、dt = cmd.vx / 120.0;ってのは何?
120ってどこから出てきた数字?
sx,syからdx,dyに向かって放物線を描く弾をrotの角度で撃ちたいってことでいいんだよね?
それって解無しの場合があるが、その処理が全く入ってないんじゃないか?
sx,syから見てdx,dyがa度の位置にある場合、発射角がa度以下では絶対に届かない。
発射角がちょうどa度だと初速は∞になる。
初期条件の与え方に問題があるかと。
着弾点を指定したいなら、普通は角度は初期条件で与えない。
356名前は開発中のものです。
2009/08/19(水) 19:57:30ID:y+Txo86j http://hakuhin.hp.infoseek.co.jp/main/as/shot.html#SHOT_02_01
こちらのソースではうまく動いてたのですが、C#に移植するとうまく動かないとは・・・、
>>355
dtは微分です。
>初期条件の与え方に問題があるかと。
>着弾点を指定したいなら、普通は角度は初期条件で与えない。
どういう風にすればいいのでしょうか?
こっちの方面には疎いので教えてほしいです。
こちらのソースではうまく動いてたのですが、C#に移植するとうまく動かないとは・・・、
>>355
dtは微分です。
>初期条件の与え方に問題があるかと。
>着弾点を指定したいなら、普通は角度は初期条件で与えない。
どういう風にすればいいのでしょうか?
こっちの方面には疎いので教えてほしいです。
357名前は開発中のものです。
2009/08/20(木) 00:34:17ID:hfiYF6j1 単純にURLの奴と比較すると
double subx = Math.Abs(cmd.dx - cmd.sx),suby = Math.Abs(cmd.dy - cmd.sy);
⇒double subx = cmd.dx - cmd.sx ,suby = cmd.dy - cmd.sy;
あと
double vx = cmd.dx - cmd.sx > 0 ? cmd.vx : -cmd.vx;
が要るのか謎
まぁ普通は>>355が言うように角度は与えないな。
普通は速度一定で角度をatan使って計算する。
double subx = Math.Abs(cmd.dx - cmd.sx),suby = Math.Abs(cmd.dy - cmd.sy);
⇒double subx = cmd.dx - cmd.sx ,suby = cmd.dy - cmd.sy;
あと
double vx = cmd.dx - cmd.sx > 0 ? cmd.vx : -cmd.vx;
が要るのか謎
まぁ普通は>>355が言うように角度は与えないな。
普通は速度一定で角度をatan使って計算する。
358356
2009/08/20(木) 21:23:01ID:IHNCk0SU359名前は開発中のものです。
2009/08/21(金) 10:48:09ID:DvszpD1q t = (dx-sx)/cosα*(初速) を
(dy-sy)=sinα*(初速)t - gt^2 に代入してαを求める
(dy-sy)=sinα*(初速)t - gt^2 に代入してαを求める
360名前は開発中のものです。
2009/08/21(金) 12:52:07ID:hppXED8L (dy-sy)=sinα*(初速)t - gt^2/2だった
361名前は開発中のものです。
2009/08/21(金) 19:22:48ID:7MXGbqnZ >>359
αということはsinαとcosαを求めればいいの?
式を変形してみたんだが、左辺のコサインが消えない・・・
(dy-dy) = sinα*((dx-sx)/cosα) - g * (dx-sx)^2/cosα^2/2
(dy-dy) = sinα*((dx-sx)/cosα) - g * (dx-sx)^2/2cos^2α
2cos^2α * (dy-dy) = cosα * sinα* (dx-sx) - g * (dx-sx)^2
αということはsinαとcosαを求めればいいの?
式を変形してみたんだが、左辺のコサインが消えない・・・
(dy-dy) = sinα*((dx-sx)/cosα) - g * (dx-sx)^2/cosα^2/2
(dy-dy) = sinα*((dx-sx)/cosα) - g * (dx-sx)^2/2cos^2α
2cos^2α * (dy-dy) = cosα * sinα* (dx-sx) - g * (dx-sx)^2
362名前は開発中のものです。
2009/08/21(金) 23:49:07ID:e3g3OiNI 一発で出ないでしょ
逐次計算で初期角度をatn((dy-sy)/(dx-sx))にして
x方向とy方向の到着時間を比較して、それが近くなるまで繰り返し
逐次計算で初期角度をatn((dy-sy)/(dx-sx))にして
x方向とy方向の到着時間を比較して、それが近くなるまで繰り返し
363名前は開発中のものです。
2009/08/22(土) 02:49:05ID:RxygmHfQ やってみたがうまくいかない・・・。
public NextpointParam calcArrivalTime(NextpointParam cmd)
{
dt = cmd.vx / 120.0;
double rot = Math.Atan(cmd.dy - cmd.sy/cmd.dx - cmd.sx);
if (cmd.dy == cmd.sy)
return cmd;
double tx, ty;
do
{
rot++;
tx = (cmd.dx - cmd.sx) / Math.Cos(rot);
ty = 4 * Math.Pow(Math.Sin(rot), 2) - 4 * g * -2 * (cmd.dy - cmd.sy);
ty = Math.Sqrt(ty) * 2 * Math.Sin(10) / 2 / g;
} while (Math.Abs(tx - ty) > 0.01);
double t = -(2 * (cmd.dx - cmd.sx) * Math.Sin(rot)) / (Math.Cos(rot) * g * dt) + (2 * (cmd.dy - cmd.sy) / (g * dt));
t = Math.Sqrt(Math.Abs(t));
cmd.vx = (cmd.dx - cmd.sx) / t;
cmd.vy = (cmd.dy - cmd.sy) / Math.Cos(rot) * Math.Sin(rot);
return cmd;
}
public NextpointParam calcArrivalTime(NextpointParam cmd)
{
dt = cmd.vx / 120.0;
double rot = Math.Atan(cmd.dy - cmd.sy/cmd.dx - cmd.sx);
if (cmd.dy == cmd.sy)
return cmd;
double tx, ty;
do
{
rot++;
tx = (cmd.dx - cmd.sx) / Math.Cos(rot);
ty = 4 * Math.Pow(Math.Sin(rot), 2) - 4 * g * -2 * (cmd.dy - cmd.sy);
ty = Math.Sqrt(ty) * 2 * Math.Sin(10) / 2 / g;
} while (Math.Abs(tx - ty) > 0.01);
double t = -(2 * (cmd.dx - cmd.sx) * Math.Sin(rot)) / (Math.Cos(rot) * g * dt) + (2 * (cmd.dy - cmd.sy) / (g * dt));
t = Math.Sqrt(Math.Abs(t));
cmd.vx = (cmd.dx - cmd.sx) / t;
cmd.vy = (cmd.dy - cmd.sy) / Math.Cos(rot) * Math.Sin(rot);
return cmd;
}
364名前は開発中のものです。
2009/08/22(土) 02:51:09ID:RxygmHfQ 訂正
× rot++
○ rot += 1 * Math.PI / 180
× rot++
○ rot += 1 * Math.PI / 180
365名前は開発中のものです。
2009/08/22(土) 05:25:00ID:JiYVKMm8 1 * は意味あるのか
366名前は開発中のものです。
2009/08/22(土) 07:28:00ID:v9eiapHS そういう年頃なのさ
367名前は開発中のものです。
2009/08/22(土) 19:32:58ID:UJPlGrDF 必ず1が係数となっていることに気づかなければlogXの部分積分はできないんだよ!!!
368名前は開発中のものです。
2009/08/22(土) 19:34:43ID:p3yP0Up8 発射位置(x0,y0)と目標位置(x1,y1)が同じ高さ(つまりy0==y1)の場合なら
仰角rは
r = asin((x1 - x0) * g / (v * v)) / 2
だから
t = 0;
r = asin((x1 - x0) * g / (v * v)) / 2;
loop:
t += dt;
x = x0 + v * cos(r) * t;
y = y0 + v * sin(r) * t - g * t * t / 2;
goto loop;
みたいな感じで現在位置(x,y)が求められる
tは時間、dtは進んだ時間、vは初速度、gは重力加速度
asinの定義域は-1から1だから、それ以外は解なし(初速が足りない)
仰角rは
r = asin((x1 - x0) * g / (v * v)) / 2
だから
t = 0;
r = asin((x1 - x0) * g / (v * v)) / 2;
loop:
t += dt;
x = x0 + v * cos(r) * t;
y = y0 + v * sin(r) * t - g * t * t / 2;
goto loop;
みたいな感じで現在位置(x,y)が求められる
tは時間、dtは進んだ時間、vは初速度、gは重力加速度
asinの定義域は-1から1だから、それ以外は解なし(初速が足りない)
369名前は開発中のものです。
2009/08/22(土) 21:04:38ID:RxygmHfQ370名前は開発中のものです。
2009/08/22(土) 23:07:35ID:p3yP0Up8 それじゃあ面倒だが>>359方式で…途中の式は省く
1 / cos(r)^2 = 1 + tan(r)^2
を使えばtan(r)の2次式に変形できる
a * tan(r)^2 + b * tan(r) + c = 0
とすると
b = x1 - x0;
a = -g * b * b / (2 * v * v);
c = y0 - y1 + a;
/* d は判別式。d < 0 なら解なし */
d = b * b - 4 * a * c;
/* 解の公式でtan(r)を求める */
tan_r = (-b + sqrt(d)) / (2 * a);
//tan_r = (-b - sqrt(d)) / (2 * a); どちらの解も目標位置を通る
r = atan(tan_r);
loop:
t += dt;
x = x0 + v * cos(r) * t;
y = y0 + v * sin(r) * t - g * t * t / 2;
goto loop;
一応動いたけど左向きに発射するときは初速度をマイナスにしないとダメっぽい
1 / cos(r)^2 = 1 + tan(r)^2
を使えばtan(r)の2次式に変形できる
a * tan(r)^2 + b * tan(r) + c = 0
とすると
b = x1 - x0;
a = -g * b * b / (2 * v * v);
c = y0 - y1 + a;
/* d は判別式。d < 0 なら解なし */
d = b * b - 4 * a * c;
/* 解の公式でtan(r)を求める */
tan_r = (-b + sqrt(d)) / (2 * a);
//tan_r = (-b - sqrt(d)) / (2 * a); どちらの解も目標位置を通る
r = atan(tan_r);
loop:
t += dt;
x = x0 + v * cos(r) * t;
y = y0 + v * sin(r) * t - g * t * t / 2;
goto loop;
一応動いたけど左向きに発射するときは初速度をマイナスにしないとダメっぽい
371名前は開発中のものです。
2009/08/24(月) 19:01:06ID:IPXhfjSk372名前は開発中のものです。
2009/08/24(月) 19:09:58ID:711xndDg 何の脈略もなく宣伝行為に及ぶのはいったい何なの?
373名前は開発中のものです。
2009/08/24(月) 21:39:10ID:ir6nHlVB 素朴な宣伝がまだ有効だと思っている、頭の硬直化したおっさん。
つか、この板が軽く馬鹿にされてて吹いた。
http://slashdot.jp/askslashdot/comments.pl?sid=463936&threshold=0&commentsort=3&mode=thread&pid=1627366#1627603
最近の奴にとっては、この板は「作ろうスレを立てる板」って認識なのかね。
つか、この板が軽く馬鹿にされてて吹いた。
http://slashdot.jp/askslashdot/comments.pl?sid=463936&threshold=0&commentsort=3&mode=thread&pid=1627366#1627603
最近の奴にとっては、この板は「作ろうスレを立てる板」って認識なのかね。
374名前は開発中のものです。
2009/08/24(月) 21:39:27ID:ir6nHlVB すまん、スレ間違えた。
375名前は開発中のものです。
2009/08/25(火) 19:10:21ID:UObdHxkO ドラクエ8-9だとキャラクタのポリゴンに黒い輪郭線が付いているじゃん
あれどうやってるかわかる人いる?
あれどうやってるかわかる人いる?
376名前は開発中のものです。
2009/08/25(火) 22:41:10ID:AOgNxinP 同じモデルを黒く塗りつぶしてちょっと大きくして面カリングを逆にする
377名前は開発中のものです。
2009/08/27(木) 00:10:49ID:4dHRqDCZ 深度バッファを描画して隣接するピクセルとの深度値の差が一定以上なら黒く塗りつぶす
法線を描画して隣接するピクセルとの法線の向きが一定以上の角度で黒く塗りつぶす
オブジェクトをそれぞれ別の色で塗りつぶして描画して隣接するピクセルの色が異なっていたら黒く塗りつぶす
これらを組み合わせるのが一番きれい
法線を描画して隣接するピクセルとの法線の向きが一定以上の角度で黒く塗りつぶす
オブジェクトをそれぞれ別の色で塗りつぶして描画して隣接するピクセルの色が異なっていたら黒く塗りつぶす
これらを組み合わせるのが一番きれい
378名前は開発中のものです。
2009/08/27(木) 16:45:06ID:TkpNRAkw379名前は開発中のものです。
2009/08/27(木) 23:51:51ID:+fcJCniV >>375
色んな手段があるけど、描画結果から想像するとこれだと思う。
モデル読み込み時にメッシュが他のメッシュに接続しているかどうかを求めておいて、
次の条件が1つでも当てはまったときメッシュ辺を描画する。
・接続するメッシュが無い ※接続が裏表になっている、接続するメッシュが複数ある場合もこの扱い
・接続するメッシュが視点から見ての裏表になっている
描画例(Javaアプレット)
ttp://www5b.biglobe.ne.jp/~clap/applet3/MagicAction/AppletMotion7Viewer.html
色んな手段があるけど、描画結果から想像するとこれだと思う。
モデル読み込み時にメッシュが他のメッシュに接続しているかどうかを求めておいて、
次の条件が1つでも当てはまったときメッシュ辺を描画する。
・接続するメッシュが無い ※接続が裏表になっている、接続するメッシュが複数ある場合もこの扱い
・接続するメッシュが視点から見ての裏表になっている
描画例(Javaアプレット)
ttp://www5b.biglobe.ne.jp/~clap/applet3/MagicAction/AppletMotion7Viewer.html
380名前は開発中のものです。
2009/08/28(金) 03:33:06ID:HsGKMciu >>370
実装してみたのですが、放物線を描かないみたいです。
vx = 100;
dt = cmd.vx / 120.0;
b = cmd.dx - cmd.sx;
a = -g * b * b / (2 * cmd.vx * cmd.vx);
c = sy - dy + a;
double d = b * b - 4 * a * c; //判別式
double tan_r = (-b + Math.Sqrt(d)) / (2 * a);
r = Math.Atan(tan_r);
:loop
t += dt;
x += sx + vx * Math.Cos(r) * t;
y += sy + vx * Math.Sin(r) * t - g * t * cmd.t / 2;
goto loop
実装してみたのですが、放物線を描かないみたいです。
vx = 100;
dt = cmd.vx / 120.0;
b = cmd.dx - cmd.sx;
a = -g * b * b / (2 * cmd.vx * cmd.vx);
c = sy - dy + a;
double d = b * b - 4 * a * c; //判別式
double tan_r = (-b + Math.Sqrt(d)) / (2 * a);
r = Math.Atan(tan_r);
:loop
t += dt;
x += sx + vx * Math.Cos(r) * t;
y += sy + vx * Math.Sin(r) * t - g * t * cmd.t / 2;
goto loop
381名前は開発中のものです。
2009/08/28(金) 15:02:48ID:DmqjfMSC C言語のindex関数、rindex関数に相当するWin32APIは何でしょうか?
382名前は開発中のものです。
2009/08/28(金) 16:10:33ID:dkA1HT2S >>381
strchr、strrchrではだめなのか
strchr、strrchrではだめなのか
383名前は開発中のものです。
2009/08/28(金) 16:13:07ID:DmqjfMSC384名前は開発中のものです。
2009/08/28(金) 16:18:49ID:fGO+3/fF >>381
StrChr、StrRChr
StrChr、StrRChr
385名前は開発中のものです。
2009/08/28(金) 16:22:17ID:fGO+3/fF TCHARなら_tcs系使えばいいだけだろwww
_tcschr、_tcsrchr
_tcschr、_tcsrchr
386名前は開発中のものです。
2009/08/28(金) 23:23:03ID:DvI+Lg5w >>380
どういう軌道になったの
直線にみえるなら正しい可能性がある
(銃の弾道のように初速度が十分に速いとほぼ直線になる)
この場合、2次方程式のもう1つの解を使えば、
銃で空を撃って落ちてきた弾があたるような軌道になるはず
ゲームなので適当にパラメータをいじってイメージにあった軌道にすればいい
それでも動かないなら、すまんが原因はわからん
どういう軌道になったの
直線にみえるなら正しい可能性がある
(銃の弾道のように初速度が十分に速いとほぼ直線になる)
この場合、2次方程式のもう1つの解を使えば、
銃で空を撃って落ちてきた弾があたるような軌道になるはず
ゲームなので適当にパラメータをいじってイメージにあった軌道にすればいい
それでも動かないなら、すまんが原因はわからん
387名前は開発中のものです。
2009/08/29(土) 00:10:27ID:kY5tJbv2 Windows7
Directx SDK November2008
の環境でDirectX SDKのDirectX9のサンプルを試しているのですが
サンプルブラウザでインストールしたEXEでは起動しますが、
Visual Studio2008EE SP1でリビルドすると
Debugランタイムでは
コンピューターに d3dx9d.dll がないため、プログラムを開始できません。
この問題を解決するには、プログラムを再インストールしてみてください。
のエラーが出ます。
Releaseランタイムでは
The Direct3D device has a non-zero reference count, meaning
some objects were not released.
のエラーが出ます。
これを解決するにはどうするのですか?
Directx SDK November2008
の環境でDirectX SDKのDirectX9のサンプルを試しているのですが
サンプルブラウザでインストールしたEXEでは起動しますが、
Visual Studio2008EE SP1でリビルドすると
Debugランタイムでは
コンピューターに d3dx9d.dll がないため、プログラムを開始できません。
この問題を解決するには、プログラムを再インストールしてみてください。
のエラーが出ます。
Releaseランタイムでは
The Direct3D device has a non-zero reference count, meaning
some objects were not released.
のエラーが出ます。
これを解決するにはどうするのですか?
388名前は開発中のものです。
2009/08/29(土) 00:41:26ID:ekhY5LT7 VisualStudioの「ツール」-「オプション」-「プロジェクトおよびソリューション」-「VC++ディレクトリ」で
「ディレクトリを表示するプロジェクト」に「ライブラリファイル」を選択してd3dx9d.dllのあるディレクトリを追加する
(例、C:\Program Files\Microsoft DirectX SDK (November 2008)\Lib\x86)
「プロジェクト」-「プロパティ」-「構成プロパティ」-「リンカ」-「入力」で
「追加の依存ファイル」にd3dx9d.dllを追加する
「ディレクトリを表示するプロジェクト」に「ライブラリファイル」を選択してd3dx9d.dllのあるディレクトリを追加する
(例、C:\Program Files\Microsoft DirectX SDK (November 2008)\Lib\x86)
「プロジェクト」-「プロパティ」-「構成プロパティ」-「リンカ」-「入力」で
「追加の依存ファイル」にd3dx9d.dllを追加する
389名前は開発中のものです。
2009/08/29(土) 00:44:38ID:im1B0JiC 7でもd3dx9d.dllのエラーは残ったままか。
390名前は開発中のものです。
2009/08/29(土) 00:46:04ID:ekhY5LT7 ごめん、libじゃなくてdllなのか
dllがある場所が分かってるならパスを通せば動くと思うよ
dllがある場所が分かってるならパスを通せば動くと思うよ
391名前は開発中のものです。
2009/08/29(土) 00:53:25ID:kY5tJbv2392名前は開発中のものです。
2009/08/29(土) 01:06:36ID:kY5tJbv2 directx sdkのフォルダにありました。
そしてそれをsystem32のフォルダに突っ込んだら解決しました。
そしてそれをsystem32のフォルダに突っ込んだら解決しました。
393名前は開発中のものです。
2009/08/29(土) 02:16:55ID:ihAb3rV7394名前は開発中のものです。
2009/08/29(土) 16:07:12ID:dF9sCpgQ 初歩的質問なんですが
プレイヤーの位置やミサイル座標などの変数は普通グローバル変数にするもんなんですか?
関数をかいてるとうまくいかないので悩んでいます。
プレイヤーの位置やミサイル座標などの変数は普通グローバル変数にするもんなんですか?
関数をかいてるとうまくいかないので悩んでいます。
395名前は開発中のものです。
2009/08/29(土) 16:11:20ID:KWkdqwG6 書き方なんてどうでもいい。
余計なことを考えている暇があったら完成させることを優先しろ。
余計なことを考えている暇があったら完成させることを優先しろ。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【速報】トランプ大統領、中国の習近平国家主席を「国賓」として招待することに ★2 [ニョキニョキ★]
- 日本と中国を結ぶ12航空路線で全便欠航 中国人に最も人気の海外旅行先は日本から韓国に [ぐれ★]
- 米中電話会談、トランプ氏は「米国側は中国にとっての台湾問題の重要性を理解する」 [1ゲットロボ★]
- 【東京・足立の車暴走】赤信号無視か 危険運転致死傷疑いも視野に捜査 逮捕された職業不詳の男性(37)は精神疾患で通院歴も ★3 [ぐれ★]
- 【音楽】「なんでこんなバカが国のトップなの?」 若者に人気のバンド「GEZAN」のマヒトゥ・ザ・ピーポーが高市総理に苦言 [シャチ★]
- 【国際】トランプ氏、来年4月に中国を訪問する招待を受け入れる 習氏も国賓で訪米へ 電話会談 [ぐれ★]
- 猟友会ハンター「警察や自衛隊の力を借りてのクマ駆除は大歓迎。肉の加工など 駆除の後についてもしっかりと話を進めてほしい」 [932029429]
- 【悲報】有名配信者さん、公式大会で小学生の前で奇行して炎上して逆ギレwwwwwwwwwwwwwwwwww [856698234]
- 【高市悲報】来年、習近平主席がアメリカに「国賓」として訪米。どうするんだよ高市・・・アメリカも敵に回すのか? [483862913]
- フィフィ「外国人だろうが日本人だろうが反日は要らんのよ、この国に…自分にとって住みやすい国に行け。」 [856698234]
- 【高市悲報】トランプおやびん「偉大な指導者である習近平首席、米国は中国にとっての台湾問題の重要性を理解しています」 [115996789]
- 喫茶店経営してるが毎朝同じ時間に来てモーニングだけで3時間粘る迷惑客がいる
