- 1 名前:名前は開発中のものです。 mailto:sage [2014/01/16(木) 00:00:31.27 ID:w6WW3hAo.net]
- ゲーム製作におけるC/C++全般に関するスレです。
元スレ DXライブラリ 総合スレッド その17 toro.2ch.net/test/read.cgi/gamedev/1383795645/ 前スレ C/C++ゲーム製作総合スレッド Part1 toro.2ch.net/test/read.cgi/gamedev/1337516528/ C/C++ゲーム製作総合スレッド Part2 toro.2ch.net/test/read.cgi/gamedev/1351015269/ C/C++ゲーム製作総合スレッド Part3 toro.2ch.net/test/read.cgi/gamedev/1357899040/ C/C++ゲーム製作総合スレッド Part4 toro.2ch.net/test/read.cgi/gamedev/1376262450/
- 734 名前:名前は開発中のものです。 mailto:sage [2014/05/06(火) 09:11:34.47 ID:WKSS3LlW.net]
- ポインタに構造体を持たせる場合ってきちんとスマートポインタを使った方がいいの?
- 735 名前:名前は開発中のものです。 mailto:sage [2014/05/06(火) 10:42:16.25 ID:2Ki+N293.net]
- >>711
独自ライブラリですかー・・・ ありがとう。ちょっとどっかで立ち読み出来るまでは買い控えます。
- 736 名前:名前は開発中のものです。 mailto:sage [2014/05/06(火) 14:47:05.12 ID:D61HzG9l.net]
- >>713
本来スマートポインタはラクをするために使う。あとは好きにしろ あと言語の使い方一般についての質問はプログラム板のほうがいい 【初心者歓迎】C/C++室 Ver.90【環境依存OK】 toro.2ch.net/test/read.cgi/tech/1395675954/ はい、次の方どうぞ
- 737 名前:名前は開発中のものです。 mailto:sage [2014/05/06(火) 15:47:49.53 ID:C6PkJkWu.net]
- そのスレ、ちょっと見たけど罵りばっかじゃないかw
- 738 名前:名前は開発中のものです。 mailto:sage [2014/05/06(火) 16:22:09.99 ID:tFTEVnQV.net]
- x64の64bitビルドでのループ変数とかメンバ変数てint,unsigned intとsize_tどっちが最適なの?
DirectXのAPIが32bit幅なのにSTLは64bitみたいに混在してて決め打ちしにくいんだけど インデックスとして毎回32bitを64bit拡張と変数を32bitにstatic_castと タイプ量はともかく実行時に効率いいほうにしたい
- 739 名前:名前は開発中のものです。 mailto:sage [2014/05/06(火) 16:27:40.04 ID:D61HzG9l.net]
- >>716
報告しなくていい。そういう感想は彼らに直に言ってあげな。陰口より建設的だろ はい、次の方どうぞ
- 740 名前:名前は開発中のものです。 mailto:sage [2014/05/06(火) 16:28:53.69 ID:D61HzG9l.net]
- >>717
かぶったすまん
- 741 名前:名前は開発中のものです。 mailto:sage [2014/05/06(火) 16:44:38.90 ID:C6PkJkWu.net]
- >>718
そんな非建設的な事実上機能していないスレに誘導してどうするんだって事だよ。 はい、次の方どうぞ。
- 742 名前:名前は開発中のものです。 mailto:sage [2014/05/06(火) 17:21:27.34 ID:D61HzG9l.net]
- >>717
例えばループ変数については普通にint使ってるな 参考までに、科学計算系のライブラリでもそんな感じだったと思うよ 計算速度云々が問題になる場合、気にかける場所はもっと別の所かと
- 743 名前:名前は開発中のものです。 mailto:sage [2014/05/06(火) 20:22:43.10 ID:HhBjBQsT.net]
- 32bit環境でもint iをbyte iとかshort iにはしない
あとむやみにunsignedにするとsignedにunsigned加算して警告でたり面倒のもと
- 744 名前:名前は開発中のものです。 mailto:sage [2014/05/08(木) 22:05:56.40 ID:Np2Vdwsy.net]
- ローカル変数がautoばかりになってしまうんだけど意図的な型だけ除外しておけば問題ないよね?
constもメンバ関数含めて相当あるけど
- 745 名前:名前は開発中のものです。 mailto:sage [2014/05/08(木) 22:48:55.29 ID:v1IR+nQC.net]
- 人間がソースコードを読んだときに
「型が明らかである場合か、あるいは逆に全く意識してほしくない場合にのみ使う……とかにしておけば?
- 746 名前:名前は開発中のものです。 mailto:sage [2014/05/09(金) 09:00:26.26 ID:3cnn0QfE.net]
- ローカル変数にauto使うメリットってある?
イテレータの型書くの面倒くさい、位しか思いつかない
- 747 名前:名前は開発中のものです。 mailto:sage [2014/05/09(金) 09:04:31.69 ID:7ikJMhxE.net]
- 十分じゃないか
- 748 名前:名前は開発中のものです。 mailto:sage [2014/05/09(金) 13:56:58.03 ID:Kaaj65V1.net]
- 型推論って引数に使ったら勝手にオーバーロードしてくれるんだと思ってたんだが、引数とか戻り値には使えないんだな
iteratorの記述を省略するための機能か
- 749 名前:名前は開発中のものです。 mailto:sage [2014/05/09(金) 17:15:23.11 ID:htXiJh1L.net]
- そういう用途にはテンプレート関数があるしね
- 750 名前:名前は開発中のものです。 mailto:sage [2014/05/10(土) 00:22:59.13 ID:6TirXj8H.net]
- >>725
個人的にはイテレータを簡単に書けるメリットが一番大きいと思ってるが それ以外で使うとしたら auto f = new Foo(); //Foo型なのは明らか とか //交換 auto tmp = a; //型は明らかではないが意識する必要がない a = b; b = tmp; とかかなあ。 後者は素直にtemplate関数にでも投げたほうが良さそうだけどね
- 751 名前:名前は開発中のものです。 mailto:sage [2014/05/10(土) 10:54:20.51 ID:dAeX94+O.net]
- 配列に入ってる複数の要素のうちの一つをポインタに持たせる場合って、スタックのアドレスをポインタに持たせても大丈夫?
- 752 名前:名前は開発中のものです。 mailto:sage [2014/05/10(土) 11:11:37.14 ID:hKETio2L.net]
- >>730
「スタックのアドレス」を「スタック上におかれた配列の要素を指すアドレス」と解釈したけど ttp://ideone.com/yad3h1 その配列が生きている間は問題ない
- 753 名前:名前は開発中のものです。 mailto:sage [2014/05/10(土) 22:40:27.91 ID:+R2ltZ7t.net]
- const T& f();
void g() { auto t= f(); } ってすると t は const T& 型になると思ってたけど 実はただの T 型でコピーコンストラクタでひどいことになったことあります
- 754 名前:名前は開発中のものです。 [2014/05/11(日) 18:46:58.77 ID:8qR2WxrE.net]
- #include "define/MoneyType.h"
int money[MoneyType.SIZE]; こういう宣言の仕方って出来ないの? MoneyTypeはenumで enum MoneyType { GOLD, DIA, SIZE };
- 755 名前:名前は開発中のものです。 mailto:sage [2014/05/11(日) 19:38:27.89 ID:3XauxJKc.net]
- enumはC++11で整数としてあつかえなくなったってwikiに書いてあった気がする
っていうかその使い方わかりにくいしやめた方が
- 756 名前:名前は開発中のものです。 mailto:sage [2014/05/11(日) 19:44:07.91 ID:3XauxJKc.net]
- 訂正
static_castでキャストすればいけるっぽい
- 757 名前:名前は開発中のものです。 mailto:sage [2014/05/11(日) 19:59:02.14 ID:yHWGVGOF.net]
- GOLD,DIA,SIZEって何かと思ったけど、もしかしてお金の単位なのかな?
- 758 名前:名前は開発中のものです。 mailto:sage [2014/05/11(日) 21:01:42.40 ID:KSscCZAl.net]
- MoneyType::SIZEかな?
ただこれだと再定義のエラーが前出たような気がする
- 759 名前:名前は開発中のものです。 mailto:sage [2014/05/11(日) 21:04:03.89 ID:9RoLwWBR.net]
- >>733
enum class MoneyType:int { GOLD, DIA, SIZE }; int money[ MoneyType::Size ];
- 760 名前:名前は開発中のものです。 mailto:sage [2014/05/11(日) 21:06:37.47 ID:KSscCZAl.net]
- 適当に書いちゃったけど何をしようとしてるのかいまいち理解出来ないw
- 761 名前:名前は開発中のものです。 mailto:sage [2014/05/11(日) 21:14:58.11 ID:9RoLwWBR.net]
- enumの要素数を静的に得たいんでしょ
将来お金の種類増えるかもしれないとか 配列使うぐらいならvectorにしとけとも思うが
- 762 名前:名前は開発中のものです。 mailto:sage [2014/05/11(日) 21:51:52.47 ID:3XauxJKc.net]
- 構造体じゃいかんのか
- 763 名前:名前は開発中のものです。 mailto:sage [2014/05/12(月) 00:24:54.73 ID:cE27KFFY.net]
- 実際に使うの想像してこうなった。
例えば複数の種類のお金で買えるショップ機能を作りたい場合、 ショップ側でMoneyTypeという型と整数を持っておけば、処理が楽かなと思ったんだけど
- 764 名前:名前は開発中のものです。 mailto:sage [2014/05/12(月) 01:09:04.70 ID:u2hQW3ha.net]
- つまり>740が正解っぽい?
- 765 名前:名前は開発中のものです。 mailto:sage [2014/05/12(月) 14:46:27.12 ID:Pch/P8kY.net]
- ゲームで何時でも何処でも参照、代入できるデータって一般的にどうやって管理してます?
(例えば主人公のデータとか色々な場面で使いそうなもの) 今まで単純にデータクラスの中に静的メンバ変数で定義してグローバル的にやってたけど、 たまたまシングルトンで管理してるソースを見つけて、色々あるのかなって思った
- 766 名前:名前は開発中のものです。 mailto:sage [2014/05/12(月) 18:22:11.56 ID:cE27KFFY.net]
- シングルトンは嫌だからゲームマネージャークラス作ってそこにプレイヤーデータのポインタ持たせたりしてるけど、どうなんだろう??
- 767 名前:名前は開発中のものです。 mailto:sage [2014/05/12(月) 18:22:35.24 ID:gXmiaEA2.net]
- 3Dゲームでカメラを遅らせて動かす場合って角度を線形補間してベクトルにしてる?
それともクォータニオンで球面線形補間してる?
- 768 名前:名前は開発中のものです。 mailto:sage [2014/05/12(月) 20:18:49.99 ID:u2hQW3ha.net]
- >>745
グローバル変数は可能な限り減らす、という理念の上でやってるなら、 それは実に正しい手法だと思うよ
- 769 名前:名前は開発中のものです。 mailto:sage [2014/05/12(月) 22:53:45.27 ID:Qk7dokdu.net]
- グローバル変数使いまくりの俺だが、グローバル変数は使わない方がいいと言われて
その方向でプログラム書き直したところ、手間の物凄く増えて辟易。 やり方を間違ってるんじゃないか感が半端ない。
- 770 名前:名前は開発中のものです。 mailto:sage [2014/05/12(月) 23:01:55.91 ID:Qk7dokdu.net]
- あるプログラム本に「JAVAなんかは誰が組んでも似たようなものになるが、
C++プログラムは人によってまるで違ってくる」とあったが本当みたいね。 本や解説サイトによって、サンプルがかなり違ってるようで混乱しまくるわ。
- 771 名前:名前は開発中のものです。 mailto:sage [2014/05/12(月) 23:39:44.01 ID:4H1ieXj2.net]
- グローバル変数どうのこうのは保険をかけるためのもので手間を減らすものではないから仕方ないね
- 772 名前:名前は開発中のものです。 mailto:sage [2014/05/13(火) 06:24:12.16 ID:hs5B6JyN.net]
- グローバル変数使わずにやろうとすると関数の引数が複雑になりがちだからな
一人で作ってるコンパクトなプログラムくらいだったら使いまくりでいいと思うわ
- 773 名前:名前は開発中のものです。 mailto:sage [2014/05/13(火) 10:40:34.58 ID:lZBhyb5G.net]
- グローバル変数は初期化の順序が問題になる
複数のソースコードのあちこちに点在してるとそれが顕著になり グローバル変数がクラスで依存関係があると動作保証が難しい せめて組み込み型以外はポインタ型にして初期化の順序を決めちゃうのが安全
- 774 名前:名前は開発中のものです。 [2014/05/13(火) 11:22:50.82 ID:i7OBK+99.net]
- >>738
'MoneyType' is not a class or namespace ってでる visualstudio2010だと出来たと思うんだけど、 Eclipse4.3だと出来ない C++のバージョンによってなんか変わったのかな
- 775 名前:名前は開発中のものです。 mailto:sage
[]
- [ここ壊れてます]
- 776 名前: mailto:2014/05/13(火) 12:15:46.52 ID:D4assd32.net [ >>753
enum classはC++/CLIだからだろ Cにそんな構文はない 俺はC++には詳しくないけど実はあるのかな ] - [ここ壊れてます]
- 777 名前:名前は開発中のものです。 mailto:sage [2014/05/13(火) 13:16:16.22 ID:LR5OHySp.net]
- C++11から入った構文
- 778 名前:名前は開発中のものです。 mailto:sage [2014/05/13(火) 22:03:52.41 ID:VqkITLrD.net]
- グローバル変数はこう書けば良いんじゃね
使うところでだけglobal.hをインクルードしてさ grobal.cpp int a; groubal.h #ifndef _GLOBAL_H_ #define _GLOBAL_H_ extern int a; #endif
- 779 名前:名前は開発中のものです。 mailto:sage [2014/05/13(火) 23:05:24.12 ID:RPOQlcBK.net]
- >>756
わざわざ識別子を _ で始めるなんて沸いてるんじゃない?
- 780 名前:名前は開発中のものです。 mailto:sage [2014/05/13(火) 23:15:35.87 ID:dsNPksM9.net]
- 是非はともかく、よく見かけるけどな
- 781 名前:名前は開発中のものです。 mailto:sage [2014/05/13(火) 23:46:55.80 ID:VqkITLrD.net]
- >>757
じゃあなんて書くんだ?
- 782 名前:名前は開発中のものです。 mailto:sage [2014/05/13(火) 23:51:06.96 ID:dD8wYEBQ.net]
- アンダーバー始まりは処理系予約とかじゃ無かったっけ
慣習的に
- 783 名前:名前は開発中のものです。 mailto:sage [2014/05/13(火) 23:59:25.01 ID:VqkITLrD.net]
- >>760
まじかよ 学校でこう習ったよ 何でそんな書き方教えるんだよ まぁ開発はVSだから#pragma onceしか書かないから知らんかっただけっすけどね・・・
- 784 名前:名前は開発中のものです。 mailto:sage [2014/05/14(水) 00:50:31.19 ID:qOCHvgWh.net]
- >>756
つ>>663 ついでにnamespaceにぶち込んでもいいのよ
- 785 名前:名前は開発中のものです。 mailto:sage [2014/05/14(水) 00:53:50.93 ID:qOCHvgWh.net]
- >>761
gccでもいつの間にかpragma once使えたりするんだよな あれ、サッサと標準仕様に盛り込めばいいのになと思うよ
- 786 名前:名前は開発中のものです。 mailto:sage [2014/05/14(水) 01:34:53.87 ID:Bv7wzu+p.net]
- だいたいのコンパイラが対応してるみたいだしデファクトスタンダードってところ
- 787 名前:名前は開発中のものです。 mailto:sage [2014/05/14(水) 02:44:20.77 ID:SkdpMvQe.net]
- 効率的には#pragma onceの方がいいと聞いたことはあるが
IDEによるかもしれん
- 788 名前:名前は開発中のものです。 mailto:sage [2014/05/14(水) 03:12:47.17 ID:YePF79fh.net]
- 単純なi nclde guard は力技の処理だけど
pragma once は処理系次第で最適化されてるからね。 複数のプラットフォームを想定するなら 安全策をとって両方記述するのがオススメ。 pragma once があれば効率的に処理してくれるかもしれないし、 もしpragma once を理解できない処理系でも inlude guardは必ず処理してくれるからね。
- 789 名前:名前は開発中のものです。 mailto:sage [2014/05/14(水) 10:10:49.06 ID:2wCAVOdx.net]
- >>766
両方記述?寝言は寝て言えw
- 790 名前:名前は開発中のものです。 mailto:sage [2014/05/14(水) 10:25:37.80 ID:vvdSHZVH.net]
- VC++に#pragma onceが入ってすぐの頃は
自動生成したヘッダには#pragma onceと#ifndef-define-endifが コンパイラバージョンによって自動で切り替わるように書かれてたと記憶している その辺から考えても、両方書くのは無駄じゃない
- 791 名前:名前は開発中のものです。 mailto:sage [2014/05/14(水) 12:46:41.03 ID:1doe1mvx.net]
- std::mapにenumとかstructを使いたいんだけど
template argument 4 is invalidっていうエラーが出ます 具体的には map<アイテムID(enum型),アイテムパラメータ(struct型)> aaaaa; って感じです。 パラメータっていうのはその名の通りアイテムを装備するとstructのメンバの addHPとかaddMPっていう変数の分だけ上昇する感じで、 使い方はプレイヤーはアイテムIDだけ持っておけば、あとは必要な時々で値だけ取得できるかなという感じです。
- 792 名前:名前は開発中のものです。 mailto:sage [2014/05/14(水) 13:13:18.32 ID:CAIv9eLR.net]
- enum itemID{ID1=0, ID2, ID3, ID4};
struct itemParam{int p1; int p2;}; itemParam param; map<itemID, itemParam> m; m.insert(make_pair(itemID::ID1, param)); こんな感じで動かない?
- 793 名前:名前は開発中のものです。 mailto:sage [2014/05/14(水) 13:15:39.85 ID:Ocn3g8OS.net]
- >>769
比較関数がないって怒られてるんじゃね 一つ目の型を enum型じゃなくて int に変更するわけにはいかないの?
- 794 名前:名前は開発中のものです。 mailto:sage [2014/05/14(水) 14:08:33.50 ID:Ke2wFa7k.net]
- そもそもそれmapにする意味あるのか?
>>733みたいな感じで配列で十分な気がするんだけど
- 795 名前:名前は開発中のものです。 mailto:sage [2014/05/14(水) 15:29:04.69 ID:Ocn3g8OS.net]
- map だと必要な分だけ使えるじゃん
0〜 イベントアイテム 10000〜 武器 20000〜 鎧 みたいに
- 796 名前:名前は開発中のものです。 mailto:sage [2014/05/14(水) 16:29:43.89 ID:YPHrxvGY.net]
- enum使うなら10000から武器みたいな区分けがそもそも必要ないと思うんだけど
- 797 名前:名前は開発中のものです。 mailto:sage [2014/05/14(水) 21:01:01.54 ID:qOCHvgWh.net]
- >>769
それ、>>770で動きますよ >>772-774 仮に、実行時に追加削除更新等なし、静的、参照専用、の情報の集合 という前提条件であればstd::map(赤黒木)を使う合理性はあまりないかな >>773のようにキー番号が連続してないのでれば、ハッシュマップの類の ほうが向いてますね research.preferred.jp/2011/07/stllike-containers/ 補足:記事中のLoki::Assoc
- 798 名前:Vectorとほぼ同じものとしてboost::flat_map
もあります。でも、>>774の言う通り、結局vectorでおkにもできますね ま、完成しない(動かない)事に比べればどれ選んでも瑣末な違いなので (特に昨今のPCなら)好きなの選べばいいかと思います。身も蓋もないね [] - [ここ壊れてます]
- 799 名前:名前は開発中のものです。 mailto:sage [2014/05/14(水) 23:37:56.68 ID:XQ3tGmyB.net]
- >>770
enumの最初を0と明示するだけで変わるんです?
- 800 名前:名前は開発中のものです。 mailto:sage [2014/05/15(木) 13:17:04.58 ID:vi3A9MFw.net]
- 変わらないですよ。試せばすぐ分かりますけど、ム板のスレに誘導されたいです?
- 801 名前:名前は開発中のものです。 mailto:sage [2014/05/15(木) 17:35:02.68 ID:CM4Haxt/.net]
- 普通に動くよね
コンパイラのバージョンとかで古いのだと駄目なのかな
- 802 名前:名前は開発中のものです。 mailto:sage [2014/05/15(木) 19:15:22.94 ID:D0s76qwM.net]
- 実は全然違うところでエラー出てるんじゃないの
- 803 名前:名前は開発中のものです。 mailto:sage [2014/05/16(金) 15:57:03.11 ID:RLWXI/UA.net]
- ナビメッシュのやり方が書いてある本とかサイトとかってある?
- 804 名前:名前は開発中のものです。 mailto:sage [2014/05/16(金) 23:45:36.07 ID:bSd/X954.net]
- > とかってある?
ありますよ navigation mesh pathfinding algorithm game waypoint graph search など適当なキーワードでググるといいです。動画によるアルゴリズムの 解説も出てきますね。書籍ならAI Game Programming Wisdom 4 が 個人的にオススメです
- 805 名前:名前は開発中のものです。 mailto:sage [2014/05/17(土) 09:32:46.40 ID:a+6vW56R.net]
- そういうのって概要だけ聞いて自分で考えて作った方が早くない?
サンプルコードみても理解するのに時間がかかるわ
- 806 名前:名前は開発中のものです。 mailto:sage [2014/05/17(土) 10:01:46.81 ID:ATk/Gp35.net]
- ゲームプログラミング本といえばGameProgrammingGemsシリーズなんだかな
最近の若者は読まないのか
- 807 名前:名前は開発中のものです。 mailto:sage [2014/05/17(土) 11:06:25.43 ID:7UqYAydx.net]
- 現代の技術の世界において
英語が読めないのは脳が半分無いのと同じ。 それだけのこと。
- 808 名前:名前は開発中のものです。 mailto:sage [2014/05/17(土) 12:01:48.26 ID:G1g9tldj.net]
- 翻訳したやつ読めば
- 809 名前:名前は開発中のものです。 mailto:sage [2014/05/17(土) 12:34:45.87 ID:/WeYTHrm.net]
- 英語読めてもソースコード読めなかったりするし
プログラムは勉強したところでコード書けないのが大半らしいな 元々作文が下手とかそういう次元ではなく理解できないとか
- 810 名前:名前は開発中のものです。 mailto:sage [2014/05/17(土) 12:40:03.20 ID:o9p3b0z7.net]
- そもそも日本語で書いてあるプログラム解説書だって意味わかんないよw
- 811 名前:名前は開発中のものです。 mailto:sage [2014/05/17(土) 13:44:47.33 ID:7UqYAydx.net]
- >>785
半年遅れで付いていく人間は残念ながら奴隷で終わるよw 英語ができて最先端に追従する奴、ときには自分が最先端を発信する奴に 「あ、こいつバカだなww」と思われながら生きる惨めな三流人生が待っている。 それで良ければ英語なんて学ぶ必要はない。 まぁ、普通は(普通の知性の持ち主は、という意味) 修士課程で英語の論文を死ぬほど読んで 「喋れないけど読める」という妙な英語力を身につけられるんだけどねw
- 812 名前:名前は開発中のものです。 mailto:sage [2014/05/17(土) 14:19:53.26 ID:ZLhv9Phh.net]
- 相変わらず病んでますね
- 813 名前:名前は開発中のものです。 mailto:sage [2014/05/17(土) 14:53:46.32 ID:k3uAdR/A.net]
- とりあえずナビメッシュのやり方教えて
- 814 名前:名前は開発中のものです。 mailto:sage [2014/05/17(土) 17:55:58.84 ID:ZLhv9Phh.net]
- 780の人ですか?
具体的に何をやってみてどこでつまずいてるのか話せば答えやすくなるかと
- 815 名前:名前は開発中のものです。 mailto:sage [2014/05/17(土) 18:02:04.88 ID:G1g9tldj.net]
- www.lameije.co.jp/navigationmesh.html
これじゃあかんのか
- 816 名前:名前は開発中のものです。 mailto:sage [2014/05/18(日) 17:48:20.69 ID:bAjzsQ9M.net]
- オクツリーに障害物を表示させたいんだけど、オクツリーのある場所がどの座標なのかを
- 817 名前:調べる方法ってある? []
- [ここ壊れてます]
- 818 名前:名前は開発中のものです。 mailto:sage [2014/05/18(日) 21:18:36.16 ID:uYYY8hgN.net]
- ボクセルのインデックスを座標のビット配列にしてインデックスからボクセルの位置を取得
marupeke296.com/COL_2D_No8_QuadTree.html これを3ビット毎にすれば出来ると思うんだがどうだろ
- 819 名前:名前は開発中のものです。 [2014/05/19(月) 04:39:02.31 ID:XNC2jE/Y.net]
- この入門?みたいなサイトで勉強してたんだけどつまづいたので分かる方いたら教えてください
bituse.info/game/shot/11 for(int i=0;i<ENEMY_NUM;++i){ enemy[i]=new ENEMY(data[i].type,data[i].stype,data[i].m_pattern,data[i].s_pattern,data[i].in_time,data[i].stop_time,data[i].shot_time,data[i].out_time,data[i].x,data[i].y,data[i].speed,data[i].hp,data[i].item); } ↑この文の enemy[i]=new ENEMYのイコールのところでオペランドと一致する演算子なんてねぇよって怒られます 原因として考えられるものってなんでしょうか? for(int i=0;i<ENEMY_NUM;++i){ enemy = new ENEMY[i](省略); } だったらいけるみたいなんですけど、違いがよくわからないです・・・
- 820 名前:名前は開発中のものです。 mailto:sage [2014/05/19(月) 05:31:35.17 ID:FdnDAUlP.net]
- enemyの型がポインタの配列になってないんじゃないの
- 821 名前:名前は開発中のものです。 mailto:sage [2014/05/19(月) 10:00:14.39 ID:hjxHIKHc.net]
- こうかな
正:ENEMY *enemy[ ENEMY_NUM ]; 誤:ENEMY *enemy; サイトを見ると省かれてるみたいだけど 敵を複数出すようにした時点で enemy を配列に変更しないといけない
- 822 名前:名前は開発中のものです。 mailto:sage [2014/05/19(月) 11:05:51.60 ID:CSMuM09V.net]
- これコンストラクタの引数なんで構造体の参照渡しじゃないのか
無駄に読みにくいわ
- 823 名前:795 mailto:sage [2014/05/19(月) 11:33:54.01 ID:XNC2jE/Y.net]
- できました。
ご指摘の通り、enemyを配列にしたら無事にコンパイルできました。 ちょっと私にはわかりにくいサイトだったようなので別のところで勉強してみます・・・
- 824 名前:795 mailto:sage [2014/05/19(月) 11:34:28.24 ID:XNC2jE/Y.net]
- お礼を忘れていました
ご指摘ありがとうございました。
- 825 名前:名前は開発中のものです。 [2014/05/23(金) 00:32:00.04 ID:61iiZtPG.net]
- おらLAMPしか知らないんだけども
C++で作ったリアルタイムなネットワークゲームのオンラインサーバって どういう環境で動いてんだべ? ソシャゲならPHPでhttpでいいかもしんねけども、 ネトゲって実行ファイル動かし続けてんのかね
- 826 名前:名前は開発中のものです。 mailto:sage [2014/05/23(金) 00:34:30.27 ID:BlMjMm70.net]
- >>801
お前から感じるそのしったか臭は一体何なんだ?
- 827 名前:名前は開発中のものです。 mailto:sage [2014/05/23(金) 01:25:45.01 ID:61iiZtPG.net]
- >>802
そんなこと言っても知りたいってのは本当なんだけど ていうかソシャゲってphpでhttp返してるって聞いたんだが違うのか ソース3種類ぐらい別のところから聞いたからそうだと信じてたけど
- 828 名前:名前は開発中のものです。 mailto:sage [2014/05/23(金) 01:54:24.22 ID:W5hvE4XG.net]
- 上から目線だと>>802みたいなのが湧いて終わりw
それがネットの宿命。 和光同塵に励み、 下から目線で質問すると、 「そんなのこと知ってるよヴァカw」ってレベルの奴がトクトクと語り始める。 人生ってのは上手くいかないものだ。 やはりアドヴァイスはリアルな知り合いに、 顔を付きあわせて語り求めるのが一番良い。 ネットで集まってくるのは多くの場合クズだ。
- 829 名前:名前は開発中のものです。 mailto:sage [2014/05/23(金) 04:11:24.69 ID:R2Hq6koN.net]
- >「そんなのこと知ってるよヴァカw」ってレベルの奴がトクトクと語り始める。
そうかな。 知ったかが知ってる振りをして偉そうにした挙句、何も実のあることは言わずに去るだけな気もするが。
- 830 名前:名前は開発中のものです。 mailto:sage [2014/05/23(金) 06:08:22.99 ID:61iiZtPG.net]
- いや質問してるんだけど
- 831 名前:名前は開発中のものです。 mailto:sage [2014/05/23(金) 08:01:15.27 ID:VwzG+tx8.net]
- 知ったかだけど
C/C++ならOSのAPIかライブラリ使ってTCPとUDP使い分けでしょ PHPでもソケット通信
- 832 名前:出来るらしいし言語はなんでもいいんじゃないの
実行効率の問題はあるだろうけど [] - [ここ壊れてます]
- 833 名前:名前は開発中のものです。 mailto:sage [2014/05/23(金) 08:49:57.28 ID:UZe2P6GU.net]
- 個人のゲーム製作でC++使うメリットってあるかな?
Cの方が小回り効くし使いやすいと思うんだが
- 834 名前:名前は開発中のものです。 [2014/05/23(金) 08:57:29.89 ID:WZOW9ZIo.net]
- C++のほうがゲーム向き。
基本的にC言語の機能を全て含んでいて、追加部分を使いたくなれば使わなければいいだけ。 使って便利な機能を使うことで開発効率は上がる。
|

|