※回答する人も、質問する人も必ず読んでください
【 回答してくださる方 】
・ できるだけ優しく質問に答えてあげてください。
・ 優しく教えるのが嫌でしたら、解決するためのヒントだけでも結構です。
「ググれ」以外の回答でおながいします。
・ 神ですら理解不能な質問は無視して下さい。
【 質問する香具師 】
・ どんな事で躓いているのか明確にしる。
・ 長くならないなら躓いている部分のコードを晒してみれ。
・ 解決した場合、お礼を言うのは当然だが、何をどうしたら解決したかを明確に書け。
探検
Windowsゲームプログラミング 質問スレ
■ このスレッドは過去ログ倉庫に格納されています
1うゆ ◆vvvK3Fcqdg
2008/11/06(木) 21:28:45ID:lNn2skuQ283名前は開発中のものです。
2009/05/06(水) 08:53:02ID:8ey4uMo7 >>282
ゲームだけやるんなら、HSPでもいいと思う。あくまでBASICの代わりだけど。
まあ、個人的には、ゲーム特化するならHSP勧めるくらいなら、ActionScriptを勧めるな。
今時の流れなら、Flashアプリで公開ってのはよいしな。
HSPはちょっとマイナーすぎなのと、応用性がなさすぎる
しかし、情報豊富って、マイナーすぎてユーザー数が他の言語と違いすぎるだろHSPはw
ゲームだけやるんなら、HSPでもいいと思う。あくまでBASICの代わりだけど。
まあ、個人的には、ゲーム特化するならHSP勧めるくらいなら、ActionScriptを勧めるな。
今時の流れなら、Flashアプリで公開ってのはよいしな。
HSPはちょっとマイナーすぎなのと、応用性がなさすぎる
しかし、情報豊富って、マイナーすぎてユーザー数が他の言語と違いすぎるだろHSPはw
284名前は開発中のものです。
2009/05/06(水) 08:56:09ID:8ey4uMo7 こんなところで言語論争してもしゃーないけど、
google trendsの結果でも貼ってみる。
さすがにHSPはなあ…
しかし、C++はさすがだ
Google Trends: C++,HSP,Ruby,Python
http://www.google.co.jp/trends?q=C%2B%2B%2CHSP%2CRuby%2CPython
google trendsの結果でも貼ってみる。
さすがにHSPはなあ…
しかし、C++はさすがだ
Google Trends: C++,HSP,Ruby,Python
http://www.google.co.jp/trends?q=C%2B%2B%2CHSP%2CRuby%2CPython
285名前は開発中のものです。
2009/05/06(水) 08:58:42ID:8ey4uMo7 (言語名) + gameにしてみた。
Google Trends: C++ game,HSP game,Ruby game,Python game
http://www.google.co.jp/trends?q=C%2B%2B+game%2CHSP+game%2CRuby+game%2CPython+game&ctab=0&geo=all&date=all&sort=0
(言語名) + ゲームだと計測不能…
Google Trends: C++ game,HSP game,Ruby game,Python game
http://www.google.co.jp/trends?q=C%2B%2B+game%2CHSP+game%2CRuby+game%2CPython+game&ctab=0&geo=all&date=all&sort=0
(言語名) + ゲームだと計測不能…
286名前は開発中のものです。
2009/05/06(水) 08:58:52ID:TlNG4nJg 初心者が始める言語は何でもいいと思ってる。出来るやつ何でも出来る。
PythonやRuby が外れたのを確認したから宗教論争はここで終わるw
PythonやRuby が外れたのを確認したから宗教論争はここで終わるw
287名前は開発中のものです。
2009/05/06(水) 09:03:50ID:TlNG4nJg >>284
言語が全体的に下がり気味なのがさびしい・・・
言語が全体的に下がり気味なのがさびしい・・・
288名前は開発中のものです。
2009/05/06(水) 10:35:24ID:S6pkCKb4 なんだかんだ言っても使う道具が違うだけで使う人間は替わらないからな
書きたい言語で書かせればいい
書きたい言語で書かせればいい
289名前は開発中のものです。
2009/05/06(水) 10:47:05ID:wX7ojKK3 HSPなんて日本以外じゃ当然ゼロと思ったら
ドイツ語関係でちょっと出てるな、別の何か?
ドイツ語関係でちょっと出てるな、別の何か?
290名前は開発中のものです。
2009/05/06(水) 13:02:01ID:UbZvhOTa HSPちらっと見たけど結局憶えること多そうだし
最初からCとかやったほうがいいじゃんと思った
最初からCとかやったほうがいいじゃんと思った
291名前は開発中のものです。
2009/05/06(水) 13:08:21ID:1MHMMcy8 ifやループの基本的なところまでならVBでもHSPで覚えてもいいと思うけどね
HSPは非常にとっかかり易い、画面が非常にシンプルで分かりやすい
C辺りインストールして起動してみたが、何していいのか分からない人はHSPで一度なんでもいいから作ってみるといいと思う
HSPは非常にとっかかり易い、画面が非常にシンプルで分かりやすい
C辺りインストールして起動してみたが、何していいのか分からない人はHSPで一度なんでもいいから作ってみるといいと思う
292233
2009/05/06(水) 19:46:25ID:K9az0PAH http://down11.ddo.jp/uploader/download/1241606473.zip/attatch
パスワードは fps です。
描画部分を別スレッドで60fps固定にした所、メインループ部はSleep(1)で600万ループ
Sleep(13)で40万ループさせる事に成功しました。
CPU使用率はSleep(13)で10以下に抑える事にも成功しました。
パスワードは fps です。
描画部分を別スレッドで60fps固定にした所、メインループ部はSleep(1)で600万ループ
Sleep(13)で40万ループさせる事に成功しました。
CPU使用率はSleep(13)で10以下に抑える事にも成功しました。
293名前は開発中のものです。
2009/05/06(水) 21:10:26ID:9tyyI+jx294名前は開発中のものです。
2009/05/06(水) 22:22:00ID:31BsjZ7x 私は経験0のプログラミング初心者です。
一昨日から友達と2D格ゲーを作ろう!という話になって少し勉強しました。
HSPで簡単なシューティングを作ることには成功したのですが、このまま
HSPを勉強すれば2Dの格闘ゲームを作るようになれるのでしょうか。
普通のゲームはC++というのを使っているのですよね?
今から同じ時間を費やすとしてHSPとC++だったらどっちが先に2D格ゲーを作ることができるでしょうか。
期間は2、3年でメルティブラッドくらいのゲームが作れたらなあ、と思っています。
一昨日から友達と2D格ゲーを作ろう!という話になって少し勉強しました。
HSPで簡単なシューティングを作ることには成功したのですが、このまま
HSPを勉強すれば2Dの格闘ゲームを作るようになれるのでしょうか。
普通のゲームはC++というのを使っているのですよね?
今から同じ時間を費やすとしてHSPとC++だったらどっちが先に2D格ゲーを作ることができるでしょうか。
期間は2、3年でメルティブラッドくらいのゲームが作れたらなあ、と思っています。
295名前は開発中のものです。
2009/05/06(水) 22:29:35ID:S6pkCKb4 ゲームにおいては過程が考えられるかどうかじゃないか?
296名前は開発中のものです。
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ではだめなのか
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【速報】習主席とトランプ大統領が電話会談 台湾問題について★3 [ニョキニョキ★]
- 人生初黒星の神童、那須川天心がリング上で土下座 [牛丼★]
- 米中電話会談、トランプ氏は「米国側は中国にとっての台湾問題の重要性を理解する」 [1ゲットロボ★]
- 【音楽】「なんでこんなバカが国のトップなの?」 若者に人気のバンド「GEZAN」のマヒトゥ・ザ・ピーポーが高市総理に苦言 [シャチ★]
- 中国人「『日本は危ないから行かないように』と言われたが、日本に来たらとても安全だった」 [お断り★]
- 石破前総理「どうすれば台湾有事にならないかを考えるべき」★2 [1ゲットロボ★]
- 【高市悲報】来年、習近平主席がアメリカに「国賓」として訪米。どうするんだよ高市・・・アメリカも敵に回すのか? [483862913]
- 【号外】習近平、米大統領のトランプと首脳会談を行う!日本のの武力による台湾脅しついて共有の追及をする意思統一でおこなう [339712612]
- 【高市悲報】トランプおやびん「偉大な指導者である習近平首席、米国は中国にとっての台湾問題の重要性を理解しています」 [115996789]
- 9歳の男児さん、人生ハードモードすぎておわる、母親の彼氏にバッドでボコボコに殴られておわる [329329848]
- 【高市朗報】高橋洋一「これあまり知られてないんですが、財政が悪化し続けば勝手に円高になります」🤔・・・😰??? [931948549]
- 【速報】足立ひき逃げ犯、精神病持ちだった [329271814]
