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

C/C++ゲーム製作総合スレッド Part6

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2014/07/08(火) 19:30:19.51ID:J+zVqUil
ゲーム製作におけるC/C++全般に関するスレです。

元スレ
DXライブラリ 総合スレッド その17
http://toro.2ch.net/test/read.cgi/gamedev/1383795645/

前スレ
C/C++ゲーム製作総合スレッド Part1
http://toro.2ch.net/test/read.cgi/gamedev/1337516528/
C/C++ゲーム製作総合スレッド Part2
http://toro.2ch.net/test/read.cgi/gamedev/1351015269/
C/C++ゲーム製作総合スレッド Part3
http://toro.2ch.net/test/read.cgi/gamedev/1357899040/
C/C++ゲーム製作総合スレッド Part4
http://toro.2ch.net/test/read.cgi/gamedev/1376262450/
C/C++ゲーム製作総合スレッド Part5
http://peace.2ch.net/test/read.cgi/gamedev/1389798031/
0052名前は開発中のものです。2014/08/03(日) 10:47:06.01ID:LcYcpDyV
deleteした場所を、他から参照してしまっていると仮定してみる。

リストってことは、該当のポインタを削除するだけじゃなく
その前の要素にあるnextポインタも修正しなきゃならないわけだよな?

deleteだけじゃなく、その修正もしてるか?
してるなら、deleteと修正の間に、別スレッド(描画?)が参照してたりシないか?
0053名前は開発中のものです。2014/08/03(日) 11:28:48.20ID:ygJOSsne
>>51
>でもAndroidNDKだからブレイクポイント使えない

使えます。是非使ってください。本当にお願いします。
それと、既に指摘されてる問題部分の切り分けをして下さい。
最小構成でテストして下さい。出来ないならコードをうp
0054名前は開発中のものです。2014/08/03(日) 11:31:35.11ID:DGgM8UM0
別スレッドから参照してるなら、
操作前後でロックが必要だけどしてないんじゃね?
0055442014/08/03(日) 13:03:28.60ID:Q2PG92ND
>>52
ごめんなさいstd::listではなくstd::vectorでダブルバッファリングしてます
更新ごとに入れ替わって、push_backされないオブジェクトはdeleteされてそのポインタにNULLが入ります
0056名前は開発中のものです。2014/08/03(日) 13:39:34.89ID:pnMbsHQK
いい加減こういう小出し後出しはやめなよ
レスしてる暇があるなら単体テストしなよ
0057名前は開発中のものです。2014/08/03(日) 15:21:07.80ID:CNCHN1HK
こういう事になるから自前のdeleteなんて使わなきゃいいのに
0058名前は開発中のものです。2014/08/03(日) 23:21:55.40ID:X5LmADYN
メンバ関数を含むクラス(のインスタンス)を、まるごとデータファイルとして記録したりしてるんですけど
こういうメンバ関数ってどんな扱いになってるんですかね?
関数はデータじゃないので扱われないとすると都合いいんだけど、
ポインタだけで扱われてるのか、それともプログラムコードまで含まれるのか。

こんな説明じゃ分かりにくいですかね……。えーと。

以前から、「オブジェクトを生成するたびに、関数(のプログラムコード)も作られ、
オブジェクトごとにコードをそれぞれ持っている」なのか、それとも「関数のプログラムコードは
別のどこかに作られるだけで、オブジェクト内にはそこを示すポインタだけが作られてる」のか疑問だったんですが、
メンバ関数を修正してから修正前のデータを読み込んでみたところ、不正落ちするようになったもので
ひょっとして、前者なのかな? と思った次第でして。
0059名前は開発中のものです。2014/08/03(日) 23:49:05.25ID:LcYcpDyV
実用上の話だけでいいなら、シリアライズでググろう
https://sites.google.com/site/boostjp/tips/serialize
0060名前は開発中のものです。2014/08/03(日) 23:54:41.45ID:NYhfIPC5
>>58
仮想関数使ってたらvtableのアドレスが格納されるから、それまで一緒にリストアすると落ちるんじゃないか?
0061名前は開発中のものです。2014/08/04(月) 00:15:41.74ID:3huMrwYj
後者だと思うしアドレス復元するのは無理ゲーじゃね
0062名前は開発中のものです。2014/08/04(月) 00:35:39.14ID:S6rlQ+o7
C++: 水面下の仕組み
http://www.microsoft.com/japan/msdn/vs_previous/visualc/techmat/feature/jangrayhood/
0063名前は開発中のものです。2014/08/07(木) 12:24:04.59ID:t1Sego2o
アクションゲームの敵キャラの行動選択の事なんだけど。
例えば一部の種類の敵は近くの自分と同じ種類の敵の数で動きが変わるとか、敵Bと敵Cが合体攻撃するとか、
ステージ内の他の敵の状態を参照する必要に駆られた時ってどうやってアクセスするべき?

敵のリストを持った敵管理クラスが敵の行動選択時に毎回敵のリストのポインタを投げるのか、
敵Bクラスがstaticで自身のクラスのリストを作っておいて、敵Bの情報が欲しいクラスがこれにアクセスするのか。

他にも地形によって移動が変わる(落ちないようにとか)場合の地形データのアクセス方法ってどうするべきなの?
0064名前は開発中のものです。2014/08/07(木) 13:00:48.69ID:GofjvCIT
自分の場合、敵オブジェクトは自分を管理するクラスへのポインタを持っているので、
必要に応じて管理クラスに問い合わせるという感じ

というか、何パターンか方法を考えているなら、適当にどれか試してみればいいと思うよ
動けばそれでいいし、問題があるなら直せばいいだけだし
0065442014/08/07(木) 17:44:22.62ID:62RjpHCx
現実的に考えた時
敵が地形情報にアクセスできても不自然じゃないのでは
0066名前は開発中のものです。2014/08/14(木) 01:20:33.31ID:McYBYG45
Macでc++を用いたゲーム作成だと
SDLかcocos2dあたりになるのかな?
0067名前は開発中のものです。2014/08/14(木) 14:25:37.69ID:KaQreIxk
良い選択肢だと思うよ
0068名前は開発中のものです。2014/08/14(木) 19:21:35.91ID:tnMEEuh8
一緒にSFML2やらね?DxLibやってるときにスレで単語出て、年始の頃から気になってた
日本語少なくて諦めてたけど、少しずつ揃ってきてるし、なによりDxLibで自作するようなクラスが
揃ってるのがありがたい
0069名前は開発中のものです。2014/08/14(木) 23:14:33.68ID:hKNZ3m31
そのクラスだけでしか使わない数十行のコードって何回出てきたら関数化する?
プライベート関数を作るのって妙に抵抗があるんだよな
パブリックは明確に必要だなってわかるんだけど
0070名前は開発中のものです。2014/08/15(金) 00:31:11.83ID:oe50SlNL
>>69
無名名前空間使えばいいんじゃね?
0071名前は開発中のものです。2014/08/15(金) 04:08:25.52ID:rUjRhF5g
名前空間とかそもそも使ってない
ディレクトリでなんかやってるけど
不都合とかあるかな
0072名前は開発中のものです。2014/08/15(金) 05:19:42.53ID:c/9kGC5u
メモリをファイルのように扱うクラスを完成させたら
ファイルをメモリのように扱う機能が既に存在していたでござる
0073名前は開発中のものです。2014/08/15(金) 07:01:48.62ID:ohMMiKIE
>>69
数十行もあるのなら、2回以上で関数にする
しないと、修正・テストを常にダブルでしないといけない

>>72
そもそもメモリの基本が、mmap(memory map)で、
確保したメモリを、どんなオブジェクトで使おうが自由

まあ一般的なもので、自分が思いつくようなものは、
たいてい誰かが作っているだろう
0074名前は開発中のものです。2014/08/15(金) 09:58:24.44ID:c/9kGC5u
メモリ上にファイルシステムを構築して、ツリー情報を制御したいのだが、どんなのがあるの?
0075名前は開発中のものです。2014/08/15(金) 10:41:13.57ID:j6cgjhWq
他のアプリでも見える仮想ファイルシステムとしてならFUSE/Dokan
アクセス方法含めてファイルAPI使わない木構造コンテナならググれば色々ある
APIフックして自分しか見えないRAMドライブを作ったことあるけど行儀悪いから他でもみかけないな
0076名前は開発中のものです。2014/08/16(土) 06:39:10.61ID:L92YcU8p
他人の作ったコードって色々あるものなんだな
0077名前は開発中のものです。2014/08/16(土) 17:19:05.66ID:8Fs/dbnc
Templateって使ったこと無いんですが何に使うんですか?
std::vectorとかコンテナみたいなのに使うんですか?
ライブラリ作るときぐらいですか?
0078名前は開発中のものです。2014/08/16(土) 17:29:23.54ID:FVHp6E5m
よく知らないんですが、
大文字のTemplateって何か特別な意味がある言葉なの?
0079名前は開発中のものです。2014/08/16(土) 18:04:48.11ID:8Fs/dbnc
Google日本語入力が大文字にしただけです
0080名前は開発中のものです。2014/08/16(土) 19:19:43.39ID:KpuwMNAx
templateは使えるのにテンプレートエンジンすら知らなかったり
0081名前は開発中のものです。2014/08/17(日) 00:29:52.38ID:DxB78rur
コンテナやライブラリ作りでお世話になることが多いのは確かだな。
実際それくらいしか使ってないやってヒトも結構いると思う。
0082名前は開発中のものです。2014/08/17(日) 01:22:39.68ID:ecqmGiuW
よくわかんないですけど、templateってtemplateを使った処理を持ってる側は中身を予測できない(何らかの処理ができない)ですよね?
その中身も用途も知らずに誰かに使われるだけですよね?
でなければポリモーフィズムとかで代用出来そうだし
0083名前は開発中のものです。2014/08/17(日) 01:37:28.43ID:rcRtUElV
templateのやってる事はdefineの高度化で、
基本的にはただの置き換えだが?
0084名前は開発中のものです。2014/08/17(日) 02:35:54.03ID:DxB78rur
予測できないってどういうことだろう
0085名前は開発中のものです。2014/08/17(日) 03:14:42.38ID:lY+LSruT
templateは、コンテナ(容れ物)によく使う

コンテナ <int>
コンテナ <ユーザ定義クラス>

コンテナが、様々な型に対応できる
0086名前は開発中のものです。2014/08/17(日) 10:03:56.33ID:ecqmGiuW
>>84
要はtemplateの処理って誰かから値を貰って処理するのではなく
値を右から左に受け渡すだけで・・・
0087名前は開発中のものです。2014/08/17(日) 10:13:42.02ID:rcRtUElV
templateの中で勝手に値が変更されるからどんな挙動をしているかが分かりにくいって事?
それはソースを追えとしか言えんな。templateはその性質上、クローズド化が出来ないから。
0088名前は開発中のものです。2014/08/17(日) 10:52:23.87ID:eh8TRovF
MPLとかエラー出ても追いきれないよ
STLですらちょっとした記述漏れで出るエラーメッセージが適切じゃないんだよな
記述した行じゃなくてテンプレートソースの位置のエラーメッセージだし
0089名前は開発中のものです。2014/08/17(日) 16:34:24.06ID:2LOHSTCb
sfmlはライセンスがGPLだったような
0090名前は開発中のものです。2014/08/18(月) 12:06:43.86ID:/xfKqDtl
え?templateの中で値が変更されることなんてあるの?
0091名前は開発中のものです。2014/08/18(月) 12:20:19.06ID:Amfk7YXr
operatorとか使わないの?
0092名前は開発中のものです。2014/08/18(月) 17:33:11.61ID:/xfKqDtl
俺は使わん!
0093名前は開発中のものです。2014/08/18(月) 18:04:50.85ID:xxNYX8Uv
C++のラムダ、拡張for、タプルあたりは見た目が悪くて全然嬉しくないな
0094名前は開発中のものです。2014/08/19(火) 10:38:31.24ID:g/Td6fwv
拡張forの見た目を悪いと取る人がいるのか
コロンがダメなのかい?
0095名前は開発中のものです。2014/08/20(水) 12:24:47.31ID:vpc/8MHV
関数名ってどうしたらいいですか?
std見るとスネークケースだけどライブラリ見るとローワーキャメルケースだし
主流なオブジェクト指向で揃えたいのならJavaやC#みたいにアッパーキャメルケースだし
"ID"は両方大文字でもよかったり、HINSTANCEみたいにどこから意味のある単語なのかわかりづらいし
0096名前は開発中のものです。2014/08/20(水) 17:29:53.86ID:zC8dBj+K
kansu
0097名前は開発中のものです。2014/08/20(水) 18:27:48.79ID:8ddmLszJ
最近の環境だと漢字が使える場合があるな
0098名前は開発中のものです。2014/08/21(木) 12:39:31.06ID:cVduPEKK
C++もDとかScalaみたいに、クラスに対して手続きだけの後付け静的関数作った場合に、
第一引数省略できたら最強なんだけどなぁ
MPLのgetはめんどくさすぎる
0099名前は開発中のものです。2014/08/22(金) 08:08:31.76ID:np7Y3ytG
http://jobinjapan.jp/job-listing/keyword-game-programmer.html
0100名前は開発中のものです。2014/08/22(金) 08:24:17.61ID:+/wZ7jnK
まあ、まともそうな所もあるけれど、時給800円って何だよwww
いくら何でも世間をナメすぎwww
0101名前は開発中のものです。2014/08/22(金) 13:04:18.40ID:GdbuT6p8
>>97
知らなかったこんなのが普通にコンパイル出来た

int 関数(int ほげ, int はげ)
{
return ほげ + はげ;
}
0102名前は開発中のものです。2014/08/22(金) 17:22:04.27ID:kNYnH0VP
ナメられてるのはゲームプログラマーなんだよなぁ・・・
0103名前は開発中のものです。2014/08/22(金) 18:16:28.30ID:tnjQY6BU
最近も何もVisualStudioなら10年以上前から関数や変数名に
漢字を使えるが
0104名前は開発中のものです。2014/08/22(金) 20:27:56.63ID:knEiP0zp
typedef void 虚無
typedef int 整数
みたいな感じで型を日本語化して頑張ってた友達を思い出した
0105名前は開発中のものです。2014/08/22(金) 21:01:32.45ID:+rbtpV8x
>>102
さすがにこの条件で行く奴は居ないだろうと思うが……
と思ってよく見たらプランナーだった、紛らわしいな
0106名前は開発中のものです。2014/08/23(土) 11:34:38.27ID:VlCYIhca
時給800円ってコンビニのバイトより安いけど
プランナーってそんな楽なお仕事なん?
0107名前は開発中のものです。2014/08/24(日) 19:03:04.47ID:+YyUmjGH
人気のある仕事ではあるかもしれんな、プランナーは
だから値段が安くても人は来ると
0108名前は開発中のものです。2014/08/25(月) 12:46:11.86ID:13Ou/jq/
プランナーは好きにゲームを作れる(かもしれない)仕事だからな、一応
0109名前は開発中のものです。2014/08/25(月) 21:12:10.93ID:fIeVmxmz
絵も音楽も無理でプログラム始めたけど難しいから
プランナーになってぼくのかんがえたさいきょうのげーむ作るんだ!
って人が多いイメージだわ
0110名前は開発中のものです。2014/08/26(火) 02:42:29.32ID:zRu6Y76+
最近は、Unity製サンプルを提示してくるプランナーも多い印象
0111名前は開発中のものです。2014/08/26(火) 03:02:43.23ID:9nJGtRzs
そういうプロトタイプをさくっと作れるのは、ああいうフレームワークの強みだよね
非エンジニアの人でも、ある程度形を作り上げられるっていう
0112名前は開発中のものです。2014/08/28(木) 03:18:53.81ID:X8+LqzAg
C言語でゲームを作るならDXライブラリ
使った方が言われたのですが
MinGWのgccで使う方法はあるのでしょうか?
0113名前は開発中のものです。2014/08/28(木) 12:27:05.34ID:IogRuqxm
"DXライブラリ MinGW"でググったら公式配布ページも含めてゾロゾロ出てくるわけだが・・・。
0114名前は開発中のものです。2014/08/28(木) 14:45:11.67ID:fyv86xWh
こんな事聞くレベルの人間がなぜMinGWなんて使うのだろうと
思った
0115名前は開発中のものです。2014/08/28(木) 16:18:23.85ID:bFGeiPpW
while(true){printf("a");}
とコンソールで実行した時ループが遅くなるのはなんでですか?
目で追える速度でしか文字列を描画できないなら
計算だらけのゲームなんてまず作れませんよね?
0116名前は開発中のものです。2014/08/28(木) 18:13:14.40ID:c3zFvuJr
文字表示系の処理は重いんです
0117名前は開発中のものです。2014/08/28(木) 18:25:00.80ID:kFtDpON/
処理が重いというよりも、OSやコンパイラがConsoleで高速描写されないよう規制してるんだろ。
ファイル出力する記号 >でやったら画面表示より速いし、ゲームなんかで使う描写を、使えば速いし。
0118名前は開発中のものです。2014/08/28(木) 18:34:21.79ID:p3a/rk2R
コンソールはそもそも文字描画速度を速くしようなんて考え方で作られてないでしょ
windowsのコンソールの文字出力はCUIベースの補助的な表示がメインで、
コンソールの文字出力が遅いから早くしてほしいなんて誰も望まない
0119名前は開発中のものです。2014/08/28(木) 18:35:31.68ID:cOy/jyai
今は文字を一つ画面に出力するよりもファイルに書き込む方が早い時代です
と言うか、文字一つ出力するのに何バイトのデーターを画面に書き込む必要があるか考えてみ?
0120名前は開発中のものです。2014/08/28(木) 18:45:56.07ID:cOy/jyai
>コンソールの文字出力が遅いから早くしてほしいなんて誰も望まない
あ、そう言えば昔、PC-98がdos/vよりも優位な点として文字出力速度が早い事を売りにしていたな
0121名前は開発中のものです。2014/08/28(木) 19:17:50.59ID:izIKodD2
ああいうのは、VRAMにテキストエリアがあるから速いんじゃないの。
DOS/Vにあるのかないのかは知らんけど。
0122名前は開発中のものです。2014/08/28(木) 19:22:18.05ID:cOy/jyai
PC-98は漢字ROMにフォントデータが入ってるから早いんだよ
0123名前は開発中のものです。2014/08/28(木) 19:39:22.02ID:p3a/rk2R
>>120
昔はコンソールは補助的なものじゃなかったし
今よりずっと遅い時代があったからでしょ
0124名前は開発中のものです。2014/08/28(木) 20:10:27.78ID:lAEGR6jw
>>123
いや、話のネタに思い出したからついでに書いただけだよ
昔はテキスト表示で画面をマスクしたりと、遅いマシンの
様々な機能をフル活用して使っていたみたいだね
0125名前は開発中のものです。2014/08/29(金) 13:24:27.28ID:7LwoDteC
>>115
目で追える速度に遅くしてるんじゃね
つ Ctrl+S
0126名前は開発中のものです。2014/08/29(金) 17:27:19.27ID:PQKddMMr
struct Aiu{
int hoge;
};

Aiu* aiu = new Aiu();
ってした時
Aiu aiu2 = *aiu;
ってした場合、aiuの寿命が切れた後もaiu2に保持されるんでしょうか?
コピーコンストラクタは定義してないです
0127名前は開発中のものです。2014/08/29(金) 17:35:13.67ID:I0DNX3OS
自分で試したほうが早いだろ
0128名前は開発中のものです。2014/08/29(金) 18:05:40.44ID:B+gnwrXf
>>126
その Aiu aiu2 = *aiu; はメンバの値が複製されるだけだから、その後にaiu->hogeを書き換えてもaiu2->hogeは変わらない
だからaiuの指す先がdeleteされようがaiu2に影響はない
0129名前は開発中のものです。2014/08/29(金) 19:30:47.56ID:+jt7R30F
class Stack
{
 int a;
}

class Heap
{
 Stack stack;
}

void main()
{
 Heap* heap = new Heap();
}

っていうプログラムの場合、int aはメモリ内のどこにあるのでしょうか?
そもそもヒープ領域のオブジェクトの中のスタック領域の場合ってメモリ的にはどうなるのでしょうか?
0130名前は開発中のものです。2014/08/29(金) 19:53:53.39ID:B+gnwrXf
普通にヒープ
0131名前は開発中のものです。2014/08/30(土) 18:37:32.98ID:5AIFhixX
picojsonというjsonパーサー使ってるんですが、
Eclipseの言ってるエラーが意味不明で困っています
どうしたら結果が得られますか?
エラー内容:expected primary-expression before ')' token

あとテンプレートにポインタやらちょっと組み合わせると全く入力補完してくれないんですがなんなんですか

void hoge::hoge1(picojson::object* jsonObject){
picojson::array& jsonArray = jsonObject->get<picojson::array>();

for (picojson::array::iterator it = jsonArray.begin(); it != jsonArray.end(); it++){
picojson::object& o = it->get<picojson::object>();

int unit_num = atoi(o["unit_num"].get<std::string>().c_str());
int unit_id = atoi(o["unit_id"].get<std::string>().c_str());
}

}
0132名前は開発中のものです。2014/09/01(月) 11:52:34.58ID:NxW8u5cB
BlenderとかMayaで作ったモデルファイルとかモーションファイルって
C++erならやっぱり自分でパーサー作って読み込むの?
0133名前は開発中のものです。2014/09/01(月) 17:34:00.00ID:7vpWhfmF
>>132
Assimp
0134名前は開発中のものです。2014/09/02(火) 14:27:36.03ID:PUVCbn2i
DirectXも使えるの?
0135名前は開発中のものです。2014/09/02(火) 17:26:57.05ID:tdHhEDHk
>>133
これ良さげやね
BSDライセンスだし色々出来そう
スレッドセーフなのもポイント高い
0136名前は開発中のものです。2014/09/06(土) 11:58:19.59ID:khJXlvEe
>>131
これ誰かわかりませんか?
0137名前は開発中のものです。2014/09/06(土) 18:09:59.56ID:AxxHSbmN
expected primary-expression before ')' token 意味
で検索してみた?
0138名前は開発中のものです。2014/09/07(日) 11:10:43.48ID:s9vhQEyf
>>137
()内に値があるとかなんとかとか・・・
でも引数のエラーは別にあるし、全く同じ文(変数名は違うけど)をコピペしてきたものだし・・・
0139名前は開発中のものです。2014/09/08(月) 21:02:33.10ID:tesqRk+d
ずっとDXライブラリのwhileの中でやってきたせいで(ビジーウェイトっていうのかな?ポーリング?)
GUIライブラリとかのイベントドリブンでゲーム作る方法が全くわかんないぜ

DXライブラリでは1フレームごとの処理をupdateメソッドの中でやってたから、
アクションゲーム上のキャラクタなどがゲーム内時間での同期が簡単だったんだけど

イベントドリブンだと、そういう「メイン時間軸」による制御がないから
ゲーム内時間で厳密に同期が取れないとこが気持ち悪い

例えば、前者では1フレームごとにキャラクターの速度ずつ動いて、衝突判定も一斉にできるけど、
後者だとライブラリ側が(おそらく裏で_秒単位でポーリングしてて)『ボタン押されたよ!』って判断するから、
用いる時間の粒度が、自分が定めたいゲーム内時間じゃなくなってしまうという・・

イベントドリブンを用いる手前、1フレごとにupdateイベント起こすなんて二度手間はやりたくないし・・
(Unity3Dはupdateとイベント併用型らしいけど、どうやってるんだろ)
0140名前は開発中のものです。2014/09/08(月) 21:18:20.61ID:tYyDmrPQ
別に必要ならUpdate相当のイベント起こしたっていいじゃない
Windowsとか普通のアプリでアニメーションしたいならWM_TIMERとか別スレッドのタイマーで処理してから
描画のWM_PAINTを間接的に呼び出してるわけだし
描画のイベントを約16msで起こして内部で状態更新すれば60フレームのゲームだ
0141名前は開発中のものです。2014/09/09(火) 01:28:32.21ID:iF9Myub/
俺もDXライブラリしか使ったことないからわかんないんだけど描画ループとゲーム内処理のループって分けてマルチスレッドにするもんなの?
ダブルバッファってのもなんか、全ての描画リソースを2倍持つって結構勿体無いなとか思うんだけど

ネトゲでよく200fpsとか表示されててなんじゃこりゃとか思ったことあるけどゲーム内処理ループの事だよね?
0142名前は開発中のものです。2014/09/09(火) 03:36:37.22ID:C1Zjzm8i
無限ループの中で定期的にPeekMessage関数を呼んで
受信しているウィンドウメッセージを処理するようにするようにする方法が一つある
(DxLibで言えばProcessMessage関数みたいなもんだと思いねぇ)
0143名前は開発中のものです。2014/09/09(火) 14:01:53.66ID:3oFzTnHF
UnityのUpdateは自分が定めたゲーム内時間(単位時間)じゃなくて描画の単位で呼び出されるから
結局のところ、Δ(←前回Updateから今回Updateが呼ばれるまでにかかったリアル時間)を使って

移動距離[ゲーム内距離] = Δ[リアル時間] ÷ 単位時間[リアル時間/ゲーム内時間] × 速度[ゲーム内距離/ゲーム内時間]

で、処理することになる。

ちなみに、Updateの中でもキー操作拾えるから慣れてるほうでいい
ただGUI部品はイベントでやるのがラク
0144名前は開発中のものです。2014/09/09(火) 20:43:35.21ID:8XdiQ/JL
線形動作しか出来ないね。まあ西洋人は加減速にはこだわらないみたいだから大丈夫なんだろうけど。
0145名前は開発中のものです。2014/09/09(火) 23:05:52.44ID:iF9Myub/
ん?線形動作以外に何かあるの?
0146名前は開発中のものです。2014/09/10(水) 07:18:00.15ID:CE6mrTSg
非線形な動作なんていくらでもあるだろ
円運動とか放物線とかバネの伸縮とか
最近の物理の教科書には載ってないのかね?
0147名前は開発中のものです。2014/09/10(水) 08:04:28.67ID:+NofARIs
円運動だろうが放射線運動だろうが
前フレームの座標と今フレームの座標は線形動作じゃないのか
それが積み重なって円や放射状になるわけで
0148名前は開発中のものです。2014/09/10(水) 08:16:26.68ID:qlf1nlfh
自然界の動作は殆ど非線形だろう。
人間が扱いやすいから、近似的に線形代数で計算するだけだろ。
0149名前は開発中のものです。2014/09/10(水) 08:52:17.08ID:pn1h5JmM
線形動作は単位時間毎に同じ速度で動く動作を指す言葉だよ。
これに対して非線形動作は単位時間毎に別の速度で動く。
前者は直線的な、後者は曲線的な動作になる傾向がある。
0150名前は開発中のものです。2014/09/10(水) 09:37:06.65ID:qlf1nlfh
非線形はこういうやつだろ。


カオス理論 - Wikipedia
カオス理論は、力学系の一部に見られる、予測できない複雑な様子を示す現象を扱う理論である。ここで言う予測できないとは、決してランダムということではない。
その振る舞いは決定論的法則に従うものの、積分法による解が得られないため、その未来の振る舞いを知るには数値解析を用いざるを得ない。


複雑系 - Wikipedia
複雑系とは、相互に関連する複数の要因が合わさって全体としてなんらかの性質を見せる系であって、
しかしその全体としての挙動は個々の要因や部分からは明らかでないようなものをいう。
複雑系は決して珍しいシステムというわけではなく、実際に人間にとって興味深く有用な多くの系が複雑系である。
系の複雑性を研究するモデルとしての複雑系には、蟻の巣、人間経済・社会、気象現象、神経系、細胞、人間を含む生物などや現代的なエネルギーインフラや通信インフラなどが挙げられる。
複雑系は、単純な要素に分解して法則や原理に落とし込む還元主義の方法論では理解できない。
生物を分解してしまうと死んでしまい「生物(生きている物)」として理解できないように、複雑系は分解してしまうと本質が抜け落ちてしまうものだからである。
したがって、複雑系の分野を貫く基本スタンスとして「複雑な現象を複雑なまま理解しようとする姿勢」を挙げることができる。
複雑な現象を複雑なまま理解しようとする学問、手法は「複雑系の科学」などと呼ばれることが多いが、その源流に眼を向けると、
アリストテレスの「全体とは、部分の総和以上のなにかである」といった言い回しにまで遡ることができる。
0151名前は開発中のものです。2014/09/10(水) 09:50:08.57ID:+NofARIs
座標を見た時に直線的になるものかと思ってた
■ このスレッドは過去ログ倉庫に格納されています