09/09/13 16:25:14 kc5gQSm4
すみません。C++でなのですが、
「仮想クラス」 「マルチタスク」(こっちは種類も多いのでしょうがアクションゲーです)
についての解説を本やWebを色々巡っているのですがどうも上手く理解できず実装できません。
個人的に理解しやすかったとかで構いませんので
Web・書籍何でも良いのでオススメの解説を教えて頂けないでしょうか?
937:名前は開発中のものです。
09/09/13 18:46:19 zzhxHz9l
仮想クラスは仮想的なクラスのことです
マルチタスクなんてものは存在しません
938:名前は開発中のものです。
09/09/13 21:15:31 g2IhHnxv
大学受験を頑張りながらゲーム作ればマルチタスクになるよ。
939:名前は開発中のものです。
09/09/14 00:07:29 QQM7QgVt
>>936
仮想クラスについてはこの変だな。
「C++入門書の次に読む本」
URLリンク(bookweb.kinokuniya.co.jp)
UNIXなどはマルチタスクといわれるが、それでは何を意味するのか分からん。
940:936
09/09/14 01:46:26 PhKHylXD
>>939
ありがとうございます。
マルチタスクでは意味が通じないのですね。
こちらは自力で何とかしてみます。ありがとうございました。
941:名前は開発中のものです。
09/09/14 08:32:00 0vG04VD/
予想は出来るが候補が幾つかあるので絞り込めない、かな。
942:名前は開発中のものです。
09/09/14 14:09:24 346GA2uE
クラスを使ってゲームキャラを管理しようと思いました
メンバ関数を使って移動などはできるようになったのですが、
戦闘がどうにもうまくいきません
攻撃したときには、攻撃対象のメンバ関数を呼び出し、相手のメンバである体力を減らすようにすればいいんでしょうか?
943:名前は開発中のものです。
09/09/14 14:15:37 A6vNgauo
>>942
具体的なクラス(ソース)とか晒さずにどうやって回答しろと?
エスパーを御所望ですか?
944:名前は開発中のものです。
09/09/14 14:19:20 Scy9jD/9
>>942
そもそも、全体がどういう構造になってるのかすらわからないのだが。
作り方によっては、設計そのものを見直したほうがいいってこともあるよ。
945:名前は開発中のものです。
09/09/14 14:27:55 4kpR/zmH
> 攻撃したときには、攻撃対象のメンバ関数を呼び出し、相手のメンバである体力を減らすようにすればいいんでしょうか?
で良いよ
946:名前は開発中のものです。
09/09/14 15:48:45 346GA2uE
コードを簡略化するためにレスが遅くって申し訳ありません。
>>943>>944
すいませんでした。今後気をつけます。コードは以下の通りです。
>>945
ありがとうございます。
#include <iostream>
using namespace std;
int main(){
class hito{
public://試験用のため全てpublic
int hp;
int kougeki;
int damege(int kou){
hp -= kou / 2 ; //ダメージはkogekiの1/2とする
cout<<"bの攻撃\n"<<"aは"<<kou/2<<"のダメージ\n残りhp"<<hp;
return 0;} } ;
hito a,b;//aとbを作成、メンバの初期化
a.hp=100;
a.kougeki=50;
b.hp=80;
b.kougeki=60;
//bがaに攻撃
a.damege(b.kougeki);
return 0 ;}
947:名前は開発中のものです。
09/09/14 17:02:58 B4VFmRWD
インデントの問題もあるし
>>1のリンクにあるうpろだ使えばいいじゃなーい
30行より多い方が意図も表現しやすいでしょ?
948:名前は開発中のものです。
09/09/14 18:01:50 346GA2uE
>>947
URLリンク(gamdev3.hp.infoseek.co.jp)
になります。よろしくお願いします
ここから作り直すと前より断然よくなりそうなので(といってもテスト段階なのですが)
残念ながら前のは消してしまいました
949:名前は開発中のものです。
09/09/14 18:31:05 4kpR/zmH
とりあえず、自分の考える変更点。
// 攻撃力だけ渡すのではなく、攻撃者自体を渡す。
int hito::damege(const hito &attacker){
// bがaに攻撃とコメントを書くらいなら、コードをそのようにする。
int hito::attack(hito &target){
// ダメージの計算を関数にして、後から編集しやすいようにする。
int calc_damage(int kou) { return kou / 2; }
// ダメージの計算を複雑にしても使えるように、攻撃側と守備側を引数とする。
int calc_damage(const hito &attaker, const hito &defender)
{ return std::max(0, attaker.kougeki - defender.bougyo); } // たとえば(攻撃力)-(防御力)、もし負ならゼロ。
950:名前は開発中のものです。
09/09/14 19:32:05 7s3djR7R
あるゲームのレベルエディタの和訳解説サイトを作ってるのですが、いまいち静的メッシュ(Static Mesh)の
静的の意味するものがわかりません。ここの板の人なら分かるかなーと思って書き込んでます。。。
動き情報がない意味だって安直に言われておりますが、要はアニメーション情報がない、形とテクスチャだけの
シンプルな3Dモデリングデータのことを指しているのでしょうか(-_-)
951:名前は開発中のものです。
09/09/14 19:33:30 4kpR/zmH
URLリンク(en.wikipedia.org)
ではなくて?
952:名前は開発中のものです。
09/09/14 20:03:12 7s3djR7R
>>951英語綴りで調べれば良かったかぁ><;解決しました
ありがとうございます。。。大体あってるってことかな
953:名前は開発中のものです。
09/09/15 07:08:42 TVGKkCOT
>>949
ありがとうございます!!
一気に進んでしまいました!!
954:名前は開発中のものです。
09/09/16 20:47:37 +4Kkj9SL
C++のゲーム中に日本語を画面に表示させたいのですが
1.全文字を一文字ずつ画像にして、テキストデータから座標参照して描画
2.画面に表示させる分ずつ画像にして張り替え
3.その場で1文字ずつ画像化していく処理を組む
の3つ位が思いつくのですが、
普通どうやって描画するのが一般的でしょうか。
また、リアルタイム更新のゲームの場合、どういった方法が一番負担が少ないでしょうか?
955:名前は開発中のものです。
09/09/16 21:10:37 Y6Uf0xCL
C++は関係ないだろ
DirectXでってこと?
動的生成なり外部画像読み込みなり、
あらかじめ用意された文字テクスチャから切り貼りすればいいんじゃね?
956:名前は開発中のものです。
09/09/16 21:17:26 G7IsRuAA
Managedじゃないよって言いたいんじゃない?
まぁ回答は一緒だけど。
957:名前は開発中のものです。
09/09/16 21:24:54 XwTzMWIF
>>954
そもそも文字を使わないのが一番良い
負担の少ない方法を取れば、いくらでも文字が表示できるわけではない
958:名前は開発中のものです。
09/09/16 21:42:27 7KSrOIMQ
>>954
著作権と描画負荷の問題がある。
・フォントデータをゲームと一緒に配布したければ、そのフォントデータの著作権者に許可を取る必要がある。
・毎フレームフォントそのものを描画するのは重い。
DirectXならゲーム起動後、OSのフォントをテクスチャー等に書き込んで、
そのテクスチャーを毎フレーム描画するのが無難。
それ以外の環境なら、その環境に合わせた方法でw
959:名前は開発中のものです。
09/09/16 23:03:00 C9xlZ3Ct
>>954
Irrlichtの多言語モジュールで実装されてる方法だと、
初めて表示する文字は動的に描画して内部にプール、
次以降はプールしたテクスチャを描画、というキャッシングをしてる
960:名前は開発中のものです。
09/09/17 00:45:16 emRRZGAA
>>955-957
ありがとうございます。
>>959
難しそうですがそういう便利な機能も有るのですね。
>>958
>DirectXならゲーム起動後、OSのフォントをテクスチャー等に書き込んで、
>そのテクスチャーを毎フレーム描画するのが無難。
回答ありがとうございます。
そのその文字を画像化する手法で、
特に数が膨大になる漢字をどう管理すれば良いのか見当が付かないのですが、
・漢字などの管理方法のあらまし
・その方法に使う関数や仕組み
を大雑把に教えては頂けないでしょうか。
そういう書籍を探してみた事も有ったのですが、なかなか見つからず・・
961:名前は開発中のものです。
09/09/17 01:07:52 xTTgRv45
今は適当なサイズのテクスチャーを用意して、
そのテクスチャーの左上から順に、
メニュー用の文字列単位で領域を割り当てて書き込んでる。
面倒くさいので文字の重複上等だし、使い切ったらそれ以上は無視。
でメニュー更新の時には、また左上から割り当て。
そんなに大量に表示したことは無いけど、
テクスチャーを一枚用意すれば、
メニュー用の文字を同時に表示できるんじゃないかな?
目一杯表示したいなら、
・最大サイズのテクスチャーを調べておく。
・同、確保。
・一枚で足りなければ複数のテクスチャーを管理。
かな?
962:名前は開発中のものです。
09/09/17 01:09:09 xTTgRv45
う~ん。テクスチャーそのものには左上って観念は無かったかもww
まぁそういう事です。
963:名前は開発中のものです。
09/09/17 12:28:24 kBlBLO8b
>>961 962
大まかに解った気がします。ありがとうございます。
964:名前は開発中のものです。
09/09/17 12:43:08 /tnMtFxy
>>958
>・漢字などの管理方法のあらまし
>・その方法に使う関数や仕組み
というほどおおげさなもんじゃないが
1)そのシステム内に登場しうる文字数だけの(第二水準までの非漢字含めて8000だっけか?ここでは仮に8000としようか)構造体配列を作る
2)与えられた文字コードを1-8000の一意の整数に変換する関数を自作
3)該当構造体にアクセスして、
a.描く/見るべきテクスチャのポインタ
b.X座標
c.Y座標
をセットするなりゲットするなりお好きなように
でいいと思う
965:名前は開発中のものです。
09/09/17 19:19:54 kBlBLO8b
>>964
ほぼ作り方は想像が付きました。ありがとうございます。
しかし、文字コードから管理ナンバーを見つける方法が
switch構文で8000通り並べる方法しか思い付かないのですが、
もっと負担が少ない方法など有ったりしますでしょうか・・?
966:名前は開発中のものです。
09/09/17 19:23:41 C7tFVRAX
map
967:名前は開発中のものです。
09/09/17 20:17:16 kBlBLO8b
>>966
あ・・ありがとうございます、
そういえばSTLの解説で一度見た事が・・調べなおして使ってみます。
有難うございました・・っ! o(_ _)o
968:名前は開発中のものです。
09/09/19 03:29:28 FK8qnqKp
タイトルロゴを制作したいのですが、みなさんどのように作ってらっしゃるのでしょうか?
969:名前は開発中のものです。
09/09/19 04:08:24 +3q7gIoc
>>968
IllustratorとPhotoshopで
970:名前は開発中のものです。
09/09/19 08:32:37 7vW1TcX0
>>968
紙とスキャナとフリーのペイントツールで
「どのように」がアイデア出しの段階からなのか、それとも本当に作り方なのかわからん
質問するときはもっと具体性を
971:名前は開発中のものです。
09/09/21 11:58:07 vtGRHawc
WiiのHomebrewに関する情報を探してるんですが、見つかりません
ググってもバックアップの起動とかそんなんしかででこないし・・・
日本語サイトは無いんですかね。この板もスレなさそうだし
地道に海外作品のソースを読んでみるしかないですか
972:名前は開発中のものです。
09/09/21 14:36:15 vtGRHawc
うほ
この板にスレがありました
失礼しました
973:名前は開発中のものです。
09/09/23 13:11:46 V8wqdYIK
すみません、ゲーム用の効果音はみなさんどう調達しているのでしょうか?
「自作(加工)方法を学ぶ」「作れる人に頼む」の2択なのですが、
過去に自作しようと色々ググってフリーの効果音作成ソフトは数種見つけたのですが
どうすればソレらしい音を作れるか皆目検討も付かず、試行錯誤したものの中断してしまいました。
「ソレらしい音の作り方」を解説している情報源をどなたか知りませんでしょうか?
もしくは自作は困難で、作れる人を募集する方が建設的だったりしますでしょうか?
974:名前は開発中のものです。
09/09/23 13:56:43 RG53s6UK
そんなに特殊な音必要になったことないから、まっちめぃかぁずさんとこでだいたい事足りてる
975:名前は開発中のものです。
09/09/23 16:13:42 FKD9Ge0m
>>973
素材屋や素材集から調達する人が多いんじゃないかな。
そうでないなら、自分で録音して加工。
音源なしにソフトだけで全部作り出すのは無理があるんじゃね?
DTM板かどっかにSE関連のスレもあったと思うが、>>973の役にたつかどうかはわからん。
どうやって音つくるかの話も時々は出てたけど。
976:名前は開発中のものです。
09/09/23 20:20:41 QlJpHqEX
落としたフリゲに使用した素材のサイトとか書いてない?
それをたどれ
977:973
09/09/23 21:18:58 Z1CnhGBx
>>974
ありがとうございます。こんなに豊富な音を配布してらっしゃる方も居たのか。
>>975
なるほど・・やはりゼロからでは様々な面で時間が相当かかりそうですね。
情報ありがとうございます。
>>976
なるほど。いくつか手元に有りますし、辿ってみます。
ありがとうございました。
978:名前は開発中のものです。
09/09/25 00:32:32 9g8Uihya
世間では画面解像度800x600が標準で作られてますが、時代的にワイドディスプレイがずいぶん増えてきたので
ワイド画面のゲームを作ろうと思います。
ワイドだと大体どのぐらいの解像度が目安なんでしょうか?
979:名前は開発中のものです。
09/09/25 00:43:45 SgGcOQ/M
>>978
kakaku.comのディスプレイランキング上位はフルHD(1920x1080)が多いように見える。
でも俺が使ってるのはWXGA+(1440x900)。
980:名前は開発中のものです。
09/09/25 03:46:33 K1UfILVv
俺は1980x1200使ってる
981:名前は開発中のものです。
09/09/25 04:24:55 ABu/5ug2
>>978
いわゆるHDは1980x1080以上。
でもユーザーが設定可能にするのも一つの手だよ。
市販のゲームでもユーザーが設定できるやつあるよ。
982:名前は開発中のものです。
09/09/25 11:41:46 9g8Uihya
んー、確かにワイド対応してる市販ゲー(特に洋ゲー)はオプションで変えれますよね。
でもグラフィックをどの解像度にも対応するように作るよりはシンプルに一つの解像度前提に作りたいんですよ。
960x720なら1024x768以下ですから無難そうですがどうでしょう?
983:名前は開発中のものです。
09/09/25 11:45:49 K1UfILVv
ビデオカードによって対応してるサイズが違うから
最大の解像度以下なら大丈夫って言うわけじゃない
素直に解像度を列挙して、その中から選ぶべき
ウインドウモードなら自由にできるけどな
984:名前は開発中のものです。
09/09/25 13:06:51 POsw9fWt
ほとんどの場合はビデオカードではなく出力装置側の制約。
近年のビデオカードで対応していない解像度がぼこぼこあるようなものは非常にマレ。
985:名前は開発中のものです。
09/09/25 13:27:36 xLPjFZDE
>>978
前にも同じ質問をしたことがあるんだが、確かその時は
(1)ビデオカードから表示可能な解像度を取得する
(2)取得した解像度リストのうち、どれを採用するか決める
(3)描画の際に、その解像度に合わせて自前で拡大/縮小する
という方法が一番良いのでは?という意見があった