トップページ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/
0667名前は開発中のものです。2014/11/15(土) 09:14:58.45ID:/7FTHmq8
>>663
何が嬉しいのかさっぱり分からん・・・(汗)
コロチン??
0668名前は開発中のものです。2014/11/15(土) 09:51:15.18ID:v6LA9C/H
>>667
例えばオブジェクトを順番に返したいときに楽するならlistとかvectorに入れて返すよね?
でも一つずつ順番に処理していくだけであれば一度に全部作ってメモリに持っておくのはメモリの無駄

parserとか作るとき、なるべく省メモリにしたいけど(XMLのSAXみたいに)使い勝手は落としたくないときとかに便利
06696672014/11/15(土) 10:08:49.83ID:/7FTHmq8
>>668
あ、なるほど、データ作りながら処理かけていけるわけか。
サンキュー!
0670名前は開発中のものです。2014/11/15(土) 11:15:19.49ID:a7IQ1KUV
>>666
よくわからんけどヒープに確保されんのかな
0671名前は開発中のものです。2014/11/15(土) 12:26:57.64ID:VJG7MPsg
ヒープ以外にどこに確保されるってんだ
0672名前は開発中のものです。2014/11/15(土) 12:41:40.07ID:v6LA9C/H
>>670
http://d.hatena.ne.jp/melpon/touch/20091212/1260584012
0673名前は開発中のものです。2014/11/15(土) 17:09:58.52ID:VJG7MPsg
yieldってなんだ
誰か一言で言い表して
0674名前は開発中のものです。2014/11/15(土) 17:13:41.84ID:skgsPBOl
>>673
コルーチン
http://en.wikipedia.org/wiki/Coroutine
0675名前は開発中のものです。2014/11/15(土) 17:23:51.51ID:VJG7MPsg
>>674
関数の途中でデータ返せるってだけか
でもこれ返り値受け取る側はどういう処理になるんだ?
受け取ったらそのまま次の行に行きそうだけど、そうすると次呼び出された時中断したところから再開するのか?
0676名前は開発中のものです。2014/11/15(土) 17:28:35.72ID:IlcXR0Tx
「終わり」って言うまでキャッチボールだな
0677名前は開発中のものです。2014/11/15(土) 21:07:43.80ID:csIS2THd
関数の途中でデータ返せるってだけって、だけっておま・・・・
何のためにLua導入してまでコルーチン使ってると思ってるのかと・・・・
0678名前は開発中のものです。2014/11/15(土) 21:28:20.19ID:nxADb3aY
使わない人にはいらないものだし
0679名前は開発中のものです。2014/11/15(土) 21:49:25.06ID:Cvi6GQeL
コルーチンを使うといっぺんに何十行も減らせる場合があるのですよ
サブルーチンでマルチスレッド制御をするよりもお手軽だし
0680名前は開発中のものです。2014/11/15(土) 23:50:56.76ID:/7FTHmq8
>>679
へぇ〜。
コルーチンを使ったテクニック・トリック集みたいなの欲しいな。
0681名前は開発中のものです。2014/11/16(日) 22:25:19.06ID:BmMQH27T
コルーチンってノンプリエンプティブなスレッド制御のことでしょ?
オレの理解がおかしいのかこれw
0682名前は開発中のものです。2014/11/17(月) 00:42:18.99ID:WLL2OPoM
昔のウィンドウズじゃあるまいし
0683名前は開発中のものです。2014/11/17(月) 10:29:07.85ID:Ld14qEhv
>>677
別にLua導入せずともsetjump longjumpでコルーチンは作れるけどね
非同期処理が同期処理と同じように書けるから滅茶苦茶便利なのは使った人にしか分からんだろうね
0684名前は開発中のものです。2014/11/17(月) 11:54:49.69ID:J8hAdEWA
>>681
その理解であっているとおもうよ。
状態を(コード上は)ヒープに持たなくても、ローカル変数を引き継いだり、
ループを途中から再開できる、構文糖みたいなもの。
0685名前は開発中のものです。2014/11/17(月) 20:35:59.87ID:KwtC8N0w
ぶっちゃけコルーチン使わない
原理的にはシーンをStateパターンで切り替えるのと変わらないし
0686名前は開発中のものです。2014/11/18(火) 18:34:34.98ID:tX1o0EDZ
改造できる武器を作ったとして、そのデータを保持するにはどうすればいいんだろう?
無改造の物をオリジナルとして、
そのデータ配列を丸ごとコピーして改造(変数に変更を加える)して、
それをあらかじめ確保しておいた保存用の配列にぶっ込めばいいのだろうか
0687名前は開発中のものです。2014/11/18(火) 18:45:45.72ID:MnekbNE0
改造したら別の武器にする
0688名前は開発中のものです。2014/11/18(火) 18:58:45.41ID:VF38SoXr
改造の定義にもよるが687と同じく別の武器にしてる

ステータスを上げるだけの改造なら
修正値を保持するor改造回数を保持するって感じじゃない?
0689名前は開発中のものです。2014/11/18(火) 21:07:47.07ID:Lfan6beG
改造前提で、かつそれがゲーム内で重要な位置にあるなら、
最初からアイテム欄にある全ての武器について、名前・ステータス・種別などのデータを個々に持たせてしまったほうが良さそう。

要は、「どうのつるぎ」が「2本」という管理じゃなくて
「どうのつるぎ(武器ID:001)/攻:12/防:0/価格:100G」 「どうのつるぎ(武器ID:002)/攻:12/防:0/価格:100G」 みたいにするっていう。
0690名前は開発中のものです。2014/11/18(火) 21:48:09.63ID:qY3UPxZd
好きなようにパラメータいじれるなら所持アイテム個々にパラメータ持たせる必要あるし
アイテム名+1みたいに変動が決まってるなら最初から別のアイテムとしてデータ作ればいい
0691名前は開発中のものです。2014/11/18(火) 22:44:11.50ID:QzZupUBq
やったことあるのは
------------------------------
装備マスタ(装備ID, 名前, 基礎攻撃力, 基礎○○力, ...)
生成装備(生成装備No, 装備ID, 攻撃力補正値, ○○力補正値, ...)
プレイヤー所持装備(生成装備No, 装備中キャラNo)  //ここに持たせる[装備中キャラNo]は冗長だけど、ここで持たせておくと便利

キャラクターマスタ(キャラID, 名前, 属性, 攻撃力成長率, ○○力成長率, ...)
生成キャラクター(生成キャラNo, Lv, 生成装備No, ...)
------------------------------
(かなり端折ってるけど)こんな風で、起動時にロードされてプレイ中ずっと不変なマスタと、
動的生成したり変化する部分に分けて、武器の能力を可変にして自動生成できるようにしたり、
敵モンスターのレベルを変動させて自動生成できるように頑張ったな

作っていく上で失敗したと思ったのが、キャラの属性がマスタ側で固定なせいで、
敵の色違いキャラ作るごとにマスタ1行作るハメになったり、主人公をキャラメイクさせたいときに、
キャラメイクパターン分の主人公マスタを作らないといけなくなって、スマートじゃなかったので諦めた

ただ、これはこれで設計としては正しかったんじゃないかな、とも思ってる。
というのも、バランス調整する時に、マスタを変更すればセーブデータ上の「生成装備」の能力も修正されたから。

今作ってるのは、↑でいうマスタの部分を「テンプレート」と称して、
 装備テンプレート(テンプレID, 連番, 名前, 基礎攻撃力) //アップデートで能力を修正したら新規行で連番を振る
 生成装備(生成装備No, テンプレID, 現在適用連番, 名前, 攻撃力)
生成装備側に値を複写(基礎攻撃力→攻撃力)して、その後は自由に変更できるようにする。
アップデート時は、連番が一番大きいテンプレートとの差分で修正できるようにするつもり
0692名前は開発中のものです。2014/11/19(水) 00:34:02.86ID:OX7d9Gn4
>>687-688
実は真っ先に考えたのはそれなんだけど、
アイテムや改造の数を増やせば増やすほどモコモコとアイテムの全体数が増えて、
管理を考えるとおしっこもっちゃいそうな量になって困った
自由度も低かったし

>>689-691
やっぱりそういう風にやるしかないか、再利用性も高そうだし

いろいろな意見をありがとう 参考になった
0693名前は開発中のものです。2014/11/19(水) 07:21:33.65ID:/n+zepvC
単純に Clone + シリアライズ ではいかんのか?
実態ではなくアイテムIDで保持しようとするから難しくなるんじゃ?
0694名前は開発中のものです。2014/11/19(水) 07:53:10.12ID:VDiSqvaf
>>693
要するに、データを丸々コピーするのじゃいかんのか?って事だろ?
俺は逆に最近レコード管理に切り替えた
っつーかソースコードを一カ所に纏める方が楽だし、メモリ消費も減るから、俺はこの方がいいと思ってる
って言うか、存在しない名前のアイテムが発生するバグに対応するのが面倒で
0695名前は開発中のものです。2014/11/19(水) 08:04:49.35ID:VDiSqvaf
あと、実体処理だとセーブデータに記録した後にデータを変更するのが面倒だと思う
0696名前は開発中のものです。2014/11/19(水) 16:05:10.60ID:MSY6gmXE
一旦データ管理という場面に踏み込むと、こうやって多くの手間や技術を要求される
これだからRPGは初心者にはおすすめできないんだが、何故初心者に限ってRPGを作りたがるんだ
0697名前は開発中のものです。2014/11/19(水) 19:21:08.31ID:HWXJ3kGs
RPG・・・データ管理・データ作成が面倒
SIM・・・バランス調整や、AIやナビゲーションマップ等が面倒
ADV・・・フラグ管理やテキスト作成が面倒
ACT・・・地面や壁との接触判定、マップを作るのが面倒
RCE・・・車を操作するAIが面倒、サーキットのウェイポイントの調整が大変
STG・・・当たり判定を飛ばすだけ、壁なんて要らん、AIも適当でいい、テキストもいらん、敵がいつ出てくるかだけ考えろ、伸ばしたい分野だけ拘れる登竜門的存在
0698名前は開発中のものです。2014/11/19(水) 20:59:46.83ID:OX7d9Gn4
ブロック崩し…パズル…
まあ、パズルはそれこそAIがな
将棋で超AI作ってプロ棋士と戦わせるだけでお祭りになるくらい
0699名前は開発中のものです。2014/11/19(水) 23:18:55.69ID:7ML/+Uac
テトリス!
0700名前は開発中のものです。2014/11/20(木) 00:30:04.14ID:vWl5cX6m
趣味プログラミングは鼻くそホジホジしたり屁をこいたりしながら
土日の内に作っちゃう人間なので、RPGとかデカブツは無理だなぁ
元々好きじゃないから作る気も起きないわけだが
0701名前は開発中のものです。2014/11/20(木) 04:07:38.08ID:h+JiqRdV
俺も学生の頃はそうだったな。
集中力自慢で4日間睡眠時間2時間で仕上げきる、それを自慢にしてた。

だが社会人になって悟った。
ある程度以上のものを作ろうと思ったら、それじゃ駄目なんだと。
プロマネとしてチームを率いることができなければ、いつまでも
徹夜自慢のバカのままで終わるんだと。
0702名前は開発中のものです。2014/11/20(木) 05:21:30.14ID:vSwwwYEe
そっか、すごいね
0703名前は開発中のものです。2014/11/20(木) 16:13:36.88ID:ASkU6c/s
やりたい事がすり替わっちゃったんだな、可哀相に
0704名前は開発中のものです。2014/11/20(木) 17:24:27.51ID:5jfsrVJn
人海戦術でしか作れない程度の能力の低いプログラマーには社会人が凄く見えるんだろうな
0705名前は開発中のものです。2014/11/20(木) 17:50:24.81ID:6dfcdxQ7
人海戦術が程度が低い制作形態かどうかは知らないが、
絵とか音楽とかにこだわりだしたら誰かの手も借りたくなる事はある
だが、素材探しをしているうちに結局完璧に自分の構想を実行できるのは自分だけだと悟る
俺が何人か欲しい
0706名前は開発中のものです。2014/11/20(木) 18:06:31.42ID:5jfsrVJn
10人プログラマーが集まれば作れるようなゲームを作りたいなら、
そもそもC/C++にこだわる必要もなくね?人海戦術に向いた言語なら色々とあるんだし
0707名前は開発中のものです。2014/11/20(木) 18:38:32.43ID:5jfsrVJn
>>705
まあ、少数精鋭で作られたゲームの方が良いゲームは多くね?
人数が増えれば増えるほど、どうしても軸はプレまくるからな
0708名前は開発中のものです。2014/11/20(木) 19:31:14.46ID:iI+OSFLH
少数精鋭もやり過ぎるとこうなる

Appleのソフトウェアの品質が次第に低下している理由は? - GIGAZINE
http://gigazine.net/news/20141016-apple-software-quality/

Appleは世界的な巨大企業ですが、同レベルの企業に比べるとはるかに小さなソフトウェアチームを意図的に構成しています。
これは「たくさんのB級プレイヤーを雇用するより、少しのA級プレイヤーを雇用する方が好ましい」というスティーブ・ジョブズの方針によるもの。
ジョブズが亡くなった後もこの方針は続いていますが、「最上級の人材」だけでチームを構成するため、人手が足りないチームへ別チームの人材がヘルプに入ることがあります。
最高の人材獲得に挑戦するのは間違ったことではないのですが、キーパーソンのエンジニアがiPhoneチームのヘルプに入っていたために、OS X Leopardのリリースが遅れた、という事態も起こっています。
0709名前は開発中のものです。2014/11/20(木) 19:36:39.53ID:36zbpl++
ゲームと一緒にされても
0710名前は開発中のものです。2014/11/20(木) 19:37:10.26ID:36zbpl++
IDがperl++
0711名前は開発中のものです。2014/11/20(木) 22:05:42.89ID:93aHVuNb
そもそも小規模開発なら汎用のゲームエンジン使えばいいしプログラマそんな要らないよな
人が必要になるのは基本的に素材作りだろうし
0712名前は開発中のものです。2014/11/20(木) 22:16:36.81ID:xrUP7PKr
そういえば、おソロだとテストがまずいことになりそう
なにしろ、自分はメタデータが頭の中に叩き込まれている少なくとも中級者だ
そこからバランス調整に入ったら初心者がうんざりするゲームになりそう
バグ取りも自分の発想だけだと限界があるし

ま、制作自体には直接関わりない事だけどね
0713名前は開発中のものです。2014/11/20(木) 23:09:21.65ID:94t7DNRt
マだけの人海戦術製作やってみたい気もする
でも標準ライブラリが貧弱なC++だと、まずstl, boost, pocoとか
どれを使うかで決裂しそうだな
0714名前は開発中のものです。2014/11/20(木) 23:47:01.70ID:XIRb6nJJ
なんか、ただの知ったかぽい
0715名前は開発中のものです。2014/11/21(金) 00:06:46.12ID:1pvURVep
boostってまだあったのか。
今だと何の用途につかってるの?
0716名前は開発中のものです。2014/11/21(金) 00:13:35.21ID:eEbWn5CX
標準ライブラリに入れる機能の実験場みたいなものだから標準ライブラリがある限り存在し続けるのでは
0717名前は開発中のものです。2014/11/21(金) 00:21:11.37ID:7CnZSeAT
>>715
人それぞれ

C++11対応してくれない環境での同等ライブラリとしてとか、

uBLAS
Geometry
Graph

など標準入りしてないけど有用なライブラリもあるし、
coroutineとかC++11以降にBoost入りしたのもある。

Boost.GeometryはMySQLに使われてたりするよ。
0718名前は開発中のものです。2014/11/21(金) 03:19:55.68ID:K9GeSQKw
C++が一番楽しい。
C++11最高だ。
0719名前は開発中のものです。2014/11/21(金) 07:08:46.35ID:qV4oLsfC
ゲームプログラマーの求人ってどこで探せば良いの?
0720名前は開発中のものです。2014/11/21(金) 07:19:13.80ID:pFBl4fEs
住んでる地域が東京圏か大阪圏内で無い限りほとんど無い
自分から売り込め、もしくは起業しろ、あるいは同人から始めろ
0721名前は開発中のものです。2014/11/21(金) 08:02:03.86ID:KX4IO8pf
ゲーム業界はやりたい人が多い割りに雇用創出効果が薄いから
競争率激しくて経営者もやりたいことやらせてもらえて感謝しろみたいな態度でくるから
激務薄給で使い捨てだよ
0722名前は開発中のものです。2014/11/21(金) 08:51:37.88ID:LfVWOyzt
おじいさんたち、板違いの話題は適切な板に誘導して差し上げて
http://wc2014.2ch.net/recruit/
http://kanae.2ch.net/job/
http://kanae.2ch.net/prog/

質問者共々、行ってらっしゃい
0723名前は開発中のものです。2014/11/22(土) 00:33:56.72ID:GjARED3K
>>713
>マだけの人海戦術製作
それ楽しそうだね。
テクスチャ、モデリング、効果音も含めて、すべてProcedualに生成するってやつでしょ。
音楽だけは無理か。
0724名前は開発中のものです。2014/11/22(土) 11:11:14.41ID:2kOY5/sq
個人でも最初はそんな感じだけどなー
0725名前は開発中のものです。2014/11/22(土) 11:27:35.29ID:UXfM8O3M
>>723
音楽でもMMLのライブラリがあればプログラミングするように作曲が可能
0726名前は開発中のものです。2014/11/22(土) 12:04:53.88ID:2kOY5/sq
MMLって聞いてマビノギかよと思ったらMusic Markup Languageだったんだな
Mabinogi Music Languageかと思ってた
0727名前は開発中のものです。2014/11/22(土) 12:51:58.39ID:z05T//p3
>>693-695
アイテムを実体処理するとセーブデータ改造が容易になるけどな
昔、ソーサリアンてゲームでアイテム魔法の空を飛ぶ魔法の消費MPを0にした事がある
0728名前は開発中のものです。2014/11/22(土) 15:25:07.79ID:2kOY5/sq
チート防止方法って
・リソースファイルを暗号化する
・リソースファイルが改竄されていないかハッシュ値を照合する
・メモリ上の値が書き換えられていないかチェックする
の3つでいい?他にするべきことってある?

スタンドアロンなゲームを想定してる
0729名前は開発中のものです。2014/11/22(土) 15:28:45.59ID:4gvnFUCF
深く考えずにユーザーには改造の自由を与える
0730名前は開発中のものです。2014/11/22(土) 15:50:11.91ID:2kOY5/sq
>>729
そのスタンスいいな
githubへのリンクでも添付するか
0731名前は開発中のものです。2014/11/22(土) 16:53:28.19ID:5ZWxKn8M
海外のゲームはそれが普通だね。
オンラインの場合は別だけど
0732名前は開発中のものです。2014/11/22(土) 17:01:09.64ID:GtITkLZ+
データを全てXMLやCSVで記述しておいて数値変え放題にする
0733名前は開発中のものです。2014/11/22(土) 17:02:59.01ID:ycIYhRSf
時代はオープンデータ
0734名前は開発中のものです。2014/11/22(土) 17:31:14.63ID:2kOY5/sq
それでもハッシュ値は欲しいな
実績「一度もデータを変更せずにクリア」とか
0735名前は開発中のものです。2014/11/22(土) 18:43:56.35ID:rQjhf0Yu
海外はMOD作り放題なゲームも多いな
0736名前は開発中のものです。2014/11/23(日) 01:04:58.19ID:4ZBc6dKC
チートを使わないでクリアすると実績だなんて、
なんでそんな当たり前のことを?と変な話にしか見えない俺
っつーか、ハッシュならまずあり得ないだろうが実績ごと改造されそうだよ
0737名前は開発中のものです。2014/11/23(日) 01:18:05.75ID:mI42wc3z
そこまでされるようなゲームを作れるのかが問題
0738名前は開発中のものです。2014/11/23(日) 01:22:28.60ID:SnMKy+pN
商業タイトルならともかく個人制作でチート対策なんてかんがえないよな
0739名前は開発中のものです。2014/11/23(日) 11:11:41.84ID:+dJYaAUV
でもセーブデータがテキストファイルにcsvで直書きとかだったらプレイする方も萎えるじゃん
0740名前は開発中のものです。2014/11/23(日) 12:27:51.29ID:EqABDKyO
個人制作はチートされてなんぼのレベルだからな。
チートされる規模まで広がるようになってから対策を考えても遅くない。

それ以前にチート対策なんて、
「桃尻にて落ちなんは、心憂かるべしと思ひけり」ってやつだ。
0741名前は開発中のものです。2014/11/23(日) 12:30:53.64ID:kaKHHfmS
一般ユーザーはバックアップ目的でのセーブデータの位置やファイル名は気にするが中身までは気にしない
チート目的ならバイナリかテキストの違いしかない
オンラインでランキングや対戦等他人との接点がある場合には対策したほうが良いけどオフラインは自由にしてやりたい
0742名前は開発中のものです。2014/11/23(日) 13:56:57.65ID:82D+n2IC
中身がテキストでも拡張子を*.savとかにしてあれば普通は開かないよね
まぁチート防止法なら>>728の3つで十分な気がする
メモリ上の数値チェックはしなくてもいいと思うけどww
0743名前は開発中のものです。2014/11/23(日) 14:02:44.82ID:+dJYaAUV
ていうか>>728以外に何かある?
リソース抜き出しとか通信盗聴は別にして
0744名前は開発中のものです。2014/11/23(日) 16:18:46.75ID:n5OStoXo
ブラウザやランチャーからの起動に限定...とか
0745名前は開発中のものです。2014/11/23(日) 16:49:33.89ID:cJk/+EVe
>>741
ほんとこれ。
この意見とまったく同意見だわ。
0746名前は開発中のものです。2014/11/23(日) 20:40:57.35ID:4ZBc6dKC
MODはともかく、コンテンツ食い荒らさせても開発者には全くメリットないし
そこまでして公開するくらいなら、むしろ公開せずに自分で楽しむよ

タダで公開している時点でメリットなんてないだって?
この俺が、金やちやほやされるためにゲームを作っていると思っているのかーッ!
(目を泳がせながら)
0747名前は開発中のものです。2014/11/24(月) 00:38:32.67ID:8cacGq0B
サーバーにセーブデータ保管
0748名前は開発中のものです。2014/11/24(月) 10:03:38.23ID:dzDmH2rP
データ改竄は許しまへんで
0749名前は開発中のものです。2014/11/24(月) 17:33:44.16ID:Z/FunYTK
>>740
クソゲー杉てタルいんで、さっさと改造してCGだけ回収してる
改造できない同人ゲーなんてやってられっかよ
0750名前は開発中のものです。2014/11/24(月) 17:55:20.84ID:2xrZiHXU
そだね
0751名前は開発中のものです。2014/11/24(月) 18:39:45.23ID:zdvI3CUV
そこまでしてcg回収なんかしたいとなると、修羅の国のゲームかな?
修羅の国のゲームは同人であるなしに関わらず基本的にクソゲー
クソゲーでない修羅の国のゲームは希少
0752名前は開発中のものです。2014/11/26(水) 17:10:13.93ID:uKd9Te04
中央のスプライトに隣接しているスプライトを、
中央のスプライトの大きさによって位置を変えられるようにするには、
どのような方法が考えられるでしょうか?
あらかじめ中央のスプライトにフラグを設定しておいて、
その数値によって周りの位置を制御するという方法は思いついたのですが、
どうもマジックナンバーだらけで気持ちが悪いし汎用性が低いのです
0753名前は開発中のものです。2014/11/26(水) 17:20:11.22ID:Y1/yNkyi
emun
0754名前は開発中のものです。2014/11/26(水) 19:59:12.17ID:AChn1R5P
enum
0755名前は開発中のものです。2014/11/26(水) 20:02:16.64ID:/W/8yg6H
nullpo
0756名前は開発中のものです。2014/11/26(水) 20:23:02.74ID:utK4NJ2p
ga!
0757名前は開発中のものです。2014/11/26(水) 20:49:02.86ID:gy/4zLs8
隣接の概念があるなら、それぞれのスプライトはパラメータとして「半径」を持っているのでは?
中央のスプライトだけ特別扱いする必要はないんじゃないの?
0758名前は開発中のものです。2014/11/29(土) 12:17:43.47ID:RkdSMohZ
http://brbranch.jp/blog/201312/cocos2d-x/cocos2dx_ccscale9sprite/
これかな?
0759名前は開発中のものです。2014/11/29(土) 12:18:18.60ID:RkdSMohZ
あやべ、cocos2dxのスレじゃなかった
0760名前は開発中のものです。2014/11/30(日) 12:30:11.20ID:2LtupVMk
std::vectorのfrontとsizeとbeginとendとdataの使い分けの見分け方を教えて下さい
0761名前は開発中のものです。2014/11/30(日) 15:32:55.05ID:wowBQ4xC
http://www.cppll.jp/cppreference/cppvector.html
https://sites.google.com/site/cpprefjp/reference/vector/data

sizeは要素数取得
beginとendはイテレータ始端と終端取得
frontは先頭要素の参照取得でv[0]と一緒
dataはvectorのデータをただの配列として使いたい時用で&(v[0])と一緒

イテレーターは全部の要素に処理する時とかに使う時が多いけどsizeの数だけ繰り返しとかでも出来るし
使い分けとか考えなくても好きに使ったらいいんじゃない
0762名前は開発中のものです。2014/11/30(日) 16:30:02.97ID:9UMHtIHE
イテレータいわゆる反復子を使うと
for_each(ary.begin(), ary.end(), func());
このような感じで書ける、ary がvector<int> であってもいいし、list<int>であってもいい、
最初にlist<int> で、あとでvector<int>に書き直してもfor_eachはそのままで使えるので書きなおす必要はない。
typedef list<int> IntArray;
このようにtypedefしておけば IntArrayを使ってあとでvectorに変えるのも
typedef vector<int> IntArry;
にすればいいだけになるので変更が楽になる。
ただ、ゲームのプログラムだと速度的に最初からvectorに決まってたりする。

dataはstringのc_str()のように、受け取る側が配列ポインタになってる時に使うものだと思う。
C言語のライブラリとかはそのようなのが多いしな。
0763名前は開発中のものです。2014/11/30(日) 18:07:42.80ID:2LtupVMk
>>761-762
ありがとう
0764名前は開発中のものです。2014/11/30(日) 18:49:40.41ID:09iyr5dN
最適化で変数が削られる憂き目に遭った・・・。

DirectXMathのXMMatrixPerspectiveFovLHの第2引数に与える、画面のアスペクト比なんだけど、
直前で

float fAspect = VP.Width / VP.Height;

ってな感じで書いてたら、Debugモードだと正常に動作するのに、
Releaseモードだとクラッシュする。

とりあえず、コメントアウトしながら原因箇所を追跡したら、上記のアスペクト比算出箇所に行き着いたわけ。
試しにvolatile修飾子を付けてみたら正常に動作することになったから、
最適化で削られたことが判明したんだけど、これ、どういうときに発生するか知ってる?

今までコンパイラ(VC++)に裏切られたことが一切なくて、信頼しきってただけに、ちょっとショック・・・。
今回は小規模なテストプログラムだから大した影響はなかったんだけど、
大規模で複雑なの組んでるときにこういうのが出ると話がややこしくなって厄介だ。
0765名前は開発中のものです。2014/11/30(日) 19:08:33.40ID:6mhBW/fH
再現手順も説明できずにコンパイラのバグとか言い出す奴の
99%以上は本人のミスだ
0766名前は開発中のものです。2014/11/30(日) 19:19:20.08ID:wowBQ4xC
VCのデバッグとリリースで最適化って変わんの?
デバッグビルドってデバッグコード埋め込むだけだと思ってたわ

http://msdn.microsoft.com/ja-jp/library/dykf6bx9.aspx
■ このスレッドは過去ログ倉庫に格納されています