DXライブラリ 総合スレッド その3
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2009/03/31(火) 01:14:36ID:IgyJcgapGUIのゲームを比較的容易に作成する事を可能にする、
「DXライブラリ」に関するスレッドです。
DXライブラリの詳細ついては
http://homepage2.nifty.com/natupaji/DxLib/
を参照して頂きたい。
DXライブラリに関するテクニックなどの情報交換などを行う事で、
多くのDXライブラリユーザのスキルの向上に役立てたら幸いです。
過去スレ:DXライブラリ 総合スレッド
http://pc11.2ch.net/test/read.cgi/gamedev/1197468399/
DXライブラリ 総合スレッド 2008
http://pc11.2ch.net/test/read.cgi/gamedev/1224923873/
0722名前は開発中のものです。
2009/07/17(金) 09:47:37ID:ZC/cxW1dそれにコメントは確かに大事だが
関数名をgetScreenFrameParSecondみたいにきちんと書けば、仕様が明らかにわかる
クラス・変数名も同じ
例えばiteratorをitとか省略して書くのはダメ
タイプ速度は速くなるが、後のコーディングで詰まるから、作業は全く速くなってない。むしろ遅くなる
省略しなければiteratorという言葉を知らない他人が見ても、ググれば意味がわかる
あとは、日本語で名前つける人がいるけど
ネットに和英辞書あるんだから使ってほしい
英語の勉強になるし国際化にも対応できる
0723名前は開発中のものです。
2009/07/17(金) 10:08:40ID:fic4arti国外にソース晒すほど立派なもん作れるなんてうぬぼれてない。
0724名前は開発中のものです。
2009/07/17(金) 10:48:52ID:XzHK2st60725名前は開発中のものです。
2009/07/17(金) 11:36:53ID:71PbqEZA0726名前は開発中のものです。
2009/07/17(金) 14:37:53ID:AtGtaSaV0727名前は開発中のものです。
2009/07/17(金) 14:42:09ID:vX9OmGXPとかは問題ないと思うけどな。宣言のクラス名で大体分かるし。
宣言が遠すぎて分からんような関数ならその時点で問題だし。
0728名前は開発中のものです。
2009/07/17(金) 15:20:17ID:vX9OmGXP定番の良書とかでも普通みんなそうだし、Linuxカーネルみたいな大物ソースでも
そうだし。
結局、識別名だけで理解できる情報は限られるのも現実。そうでなければ、それこそ
アプリケーションハンガリアンなんかを全識別名に徹底すれば最高なのかもしれない
けど、実際は関数エントリにはしっかりした出入り仕様のコメントが欲しい訳で。
まぁ、スレ違いなんだけどね。
正直、D3DXのせいで、「扱いやすくする」という使命のラッパーライブラリの系統
は居場所を失ってるから、このスレの居場所も同様によく分からないんだよなぁ。
0729名前は開発中のものです。
2009/07/17(金) 15:37:38ID:/TZL4Vnl| ノ ヽ
/ ● ● | クマ知ってるか。
| ( _●_) ミ 出雲地方では、木と岩と水の在る場所を「熊々しい谷」と呼ぶ。
彡、 |∪| 、`\ 「熊々しい」とは、神々しいの意味だ。
/ __ ヽノ /´> )
(___) / (_/
| /
| /\ \
| / ) )
∪ ( \
\_)
0730名前は開発中のものです。
2009/07/17(金) 22:02:14ID:Z3s3jxcY引数がある場合とかに
複数行にわたってしまって
なんだか見づらくならない?
今まで見たソースだとgetScrFPS程度には略してるけど
おまえらどうなの?
0731名前は開発中のものです。
2009/07/17(金) 22:12:33ID:3aIuRMAB0732名前は開発中のものです。
2009/07/17(金) 22:12:54ID:a1yK0hIN0733名前は開発中のものです。
2009/07/17(金) 22:29:41ID:PpX+kDe1ひとつのGetPos()って関数で渡すにはどうしたらいいかな?
考えてみたんだけど、どうしても一つでいろいろなところで使える方法がみつからないんだよ。
まだプログラム経験が短いもんで。
0734名前は開発中のものです。
2009/07/17(金) 22:47:07ID:a1yK0hIN0735名前は開発中のものです。
2009/07/17(金) 23:03:35ID:TRJ/ynqn基本Getは単一変数を返す方がいい。
内部の構造体のデータを返すのは間違っている。
その場合はとるのではなく、チェックしてもらう。
bool chk_XXXX (pos *dat); が正しい。
で、この関数はインラインであれば、スピード的には何の問題も無い。
考え方が逆。
0736名前は開発中のものです。
2009/07/17(金) 23:06:22ID:TRJ/ynqnこれ基本中の基本
0737名前は開発中のものです。
2009/07/17(金) 23:31:36ID:cB4HhxMPでもゲームは作れてるぜ!
0738名前は開発中のものです。
2009/07/17(金) 23:36:29ID:iPNwCeP80739名前は開発中のものです。
2009/07/18(土) 00:03:32ID:pCmtYAM2private の場合 getx(){return x;} でアクセスするのと速度変わらんのか
0740名前は開発中のものです。
2009/07/18(土) 08:04:35ID:QevxnE5g詳しい事はしらんが、常識的な範囲でコンパイルを考えれば、
最適化が普通だったら遅くなる理由は無いと思う。
最適化をしないなら、クラスから関数のアドレスに飛んで、
そこで値:xを取得して、それをどっかに格納な分
遅くなるんだろうけど・・・。
0741名前は開発中のものです。
2009/07/18(土) 08:54:43ID:UXbVEGUEちょっと違う
getx(){return x;} がクラスの中に書かれ、そのクラスがヘッダーファイルなら。
インライン展開されるので
aa = getx(){return x;}
||
aa = A.x と同じ
最適化は関係ない
0742名前は開発中のものです。
2009/07/18(土) 08:56:36ID:UXbVEGUE0743名前は開発中のものです。
2009/07/18(土) 10:41:55ID:PwgwIsF1ソース側で定義でもinlineつけて展開できるなら同じじゃないっけか
後、クラス内での処理はインラインしてくれるのが普通だったきがする
メンバ関数内で別のメンバ関数呼び出して処理とか
まー、>>736か
0744名前は開発中のものです。
2009/07/18(土) 14:09:33ID:xlxZEQtnclass Foo {
Pos pos_;
public:
Pos& GetPos() { return pos_; }
const Pos& GetPos() const { return pos_; }
};
スコープの外側にインスタンスを返すなら、参照渡しじゃ無理なので、コンパイラの
NRVOに期待して、例えば以下のように書くことになる。
inline Pos GetPos() {
Pos result;
/* code */
return result;
}
NRVO非対応でRVOだけ対応のコンパイラだと、
inline Pos GetPos() {
/* code */
return Pos( /* code */ );
}
こういうコードじゃないと>>741の言うような最適化は掛からない。
コンパイラーメーカーもC++標準化委員会もNRVOが掛かるように頑張ってるはずだが、
実装状況はコンパイラによってまちまちなんで調べてくれ。多分検索すればすぐ分かる。
VC++なら2005からNRVO行けるっぽい。/O1くらいでもNRVOは掛かる模様。
プロファイラで後から最適化ってのも常道だけど、I/F設計段階の話はそうもいかないし
なぁ。
まぁ、俺なら基本的には参照渡し、リターンで解体される自動変数なら値渡しで返して、
後者がボトルネックになるならインライン化でたぶんNRVO発動でおk、って書く。で、
「この設計だと遅そうだしポインタ渡そう」って言われたら、実際どうなるか興味ある
んでベンチでも書いたり、ついでに↓みたいなのも一緒に見たりしながら相談する。
http://msdn.microsoft.com/en-us/library/ms364057(VS.80).aspx
0745名前は開発中のものです。
2009/07/18(土) 14:20:17ID:xlxZEQtnスコープの外に「自動」インスタンスを返すなら、だな。
つーか、二つめと三つめは最初の質問のシチュエーションから逸脱してるな。すまん。
まぁでも、メンバ関数でもNRVOは重要なんで、仕組みは知っておいた方が。
0746名前は開発中のものです。
2009/07/19(日) 05:29:35ID:TXlg+NUwif(key & PAD_INPUT_B){
for(double t=0; t<10; t=t+0.1){
int vo = -60;
int ay=10;
jikidata.y = vo * t + 1/2 * ay * t*t + jikidata.y;
WaitTimer( 1000 );
jikidata.ghandle = LoadGraph("media\\imgbb4792ea7ec6f3d_frame_0009.bmp");
}
}
DXライブラリを使ってアクションゲームのジャンプをプログラムしたいんですが
これで実行すると、キャラが止まったり、動かなくなってしまうんですが、どこを改変すればいいんでしょうか?
0747名前は開発中のものです。
2009/07/19(日) 05:51:18ID:EpiDWLJN正直どこにつっこめばいいかわからないので
公式のサンプルを参考にすればいいとだけ言っておく
http://homepage2.nifty.com/natupaji/DxLib/dxprogram.html#N2
0748名前は開発中のものです。
2009/07/19(日) 11:01:02ID:7iXtFi1U0749名前は開発中のものです。
2009/07/19(日) 21:11:12ID:mJh1WCZZ0750名前は開発中のものです。
2009/07/20(月) 01:05:51ID:pleKhZHBリアルタイム処理で使うのは駄目に決まってるな
フェードアウト後の待ち時間とかに使うのが正しい
でも個人的にはウェイト系の関数やら処理体系作って、それを使えばいいと思う
while(……){
//ここにwaitから切り放したい処理を書く
//例えば、ゲームは止まっても風景は動かしたい
//処理ごとにwaitを分ければさらに色々なことができる
if(waitFlag==FALSE){
//ここにwait前にやりたい処理を書く
//waitTime、waitFlagは本来条件式で設定するのが望ましい
waitTime=1500;//1500ミリ秒=1.5秒
waitFlag=TRUE;
}else{
if(1ミリ秒経過したら){
waitTime--;
}
if(waitTime==0){//1.5秒経った
waitFlag==FALSE;
}else{
//waitTime=0未満;を描いたな?と怒る
//エラーフラグを大量に埋めるのは開発の最適化とアンチートに役立つ
}
}
}
こんな
0751名前は開発中のものです。
2009/07/20(月) 01:09:47ID:pleKhZHB0752名前は開発中のものです。
2009/07/20(月) 18:56:48ID:u2THICPq0753名前は開発中のものです。
2009/07/20(月) 23:05:51ID:hrqPLvNBこれならどの環境でもキッチリ結果が出るね
カウンタ回すしかやったことないから参考になるわ
だけどアクションとかだと遅延おきてカクカクにならないかな
0754名前は開発中のものです。
2009/07/22(水) 14:20:11ID:23EfZ5Teフォントのファイル名を指定して読み込みするような関数が見つからなくてどうすればいいか困ってるんですが
0755名前は開発中のものです。
2009/07/23(木) 01:22:02ID:w7s2/iav0756名前は開発中のものです。
2009/07/23(木) 01:49:57ID:w7s2/iavDXライブラリでは出来ないような気がする
でもフォントファイルを一時的に開くプログラムがあれば通常のフォントと同じように
名前の指定だけで使えるはず……
0757754
2009/07/23(木) 02:35:05ID:M1f3xhTA結果はWin32APIのAddFontResourceEx関数を使えば一時的にTTFファイルからフォントリストに登録できるみたい
第二引数に0x10(FR_PRIVATE)を渡せばそのプロセスだけで使えるようになるぽ
使い終えたらRemoveFontResourceExで開放する必要もあるみたい。登録時とまったく同じ引数で呼び出す必要あり
AddFontResourceEx("hoge.ttf", 0x10, 0); // これでhogeフォントを登録。DxLibのEnumFontNameでも表示されるはず。
RemoveFontResourceEx("hoge.ttf", 0x10, 0); // 削除。引数を↑と同じにしないといけないらしい
いくらDxLib関係でググっても見つからなかったので少々冗長気味に解説してみたよ
正直この機能はDxLibにラップされてても違和感無いと思うんだけど
0758名前は開発中のものです。
2009/07/23(木) 03:39:18ID:8ujD6dNo0759名前は開発中のものです。
2009/07/23(木) 21:34:58ID:PImKyCUU0760名前は開発中のものです。
2009/07/23(木) 21:51:01ID:tLjhSV6z完全に濃くなったら、表示する画像を切り替える。
真っ黒な画像を少しずつ薄くしながら表示する。完全に薄くなったら、以後、真っ黒な画像は表示しない。
これでいいと思う。
0761名前は開発中のものです。
2009/07/23(木) 23:37:10ID:JVsH2uDi0762名前は開発中のものです。
2009/07/24(金) 02:52:41ID:sonMl0Vt0763名前は開発中のものです。
2009/07/24(金) 03:42:20ID:nwWosEk7Dxlib.h内を、サウンドハンドルの再生位置で検索
0764名前は開発中のものです。
2009/07/24(金) 04:08:03ID:sonMl0Vtやってみました
PlaySoundMem でやってるときは GetSoundCurrentPosition で取得すればいいのかな
でやってみましたが GetSoundCurrentPosition がいくら再生してるときでも0しか返ってこないのですが
ちゃんと引数に正しい SoundHandle 入れてますよ
0765名前は開発中のものです。
2009/07/24(金) 04:20:10ID:nwWosEk7PlaySoundMemのTopPositionFlagを0にすれば
取りあえずは途中から再生できるはず
0766名前は開発中のものです。
2009/07/24(金) 06:13:08ID:sonMl0Vt0767名前は開発中のものです。
2009/07/24(金) 08:59:47ID:5C3gkZxnちょっと懐かしかった。pchも使ってなかったんだなぁとか。
つーかpch使ってない奴も多そうだから勝手に手順説明するぜ。
1. プロジェクト→新しい項目の追加→ヘッダーファイルでstdafx.hをプロジェクトに追加
2. プロジェクト→新しい項目の追加→C++ファイルでstdafx.cppをプロジェクトに追加
3. DxLib.hや標準ライブラリなど、自作でない巨大ヘッダのinclude文を*.cppから全部削除して、
代わりにstdafx.hの中に全部突っ込む(自作ヘッダは普通に*.cppで各自includeする方がいい)
/* stdafx.hの例 */
#pragma once
#include <DxLib.h>
#include <string>
using std::string;
/* ここまで */
4. 全ての*.cppの最初に#include "stdafx.h"を書く(コメントは前に入れてもおk)
ちなみにstdafx.cppは、#include "stdafx.h"の一行だけでおk
5. ソリューションエクスプローラでプロジェクト名を右クリックしてプロパティを開き、左上の
構成を「すべての構成」にして、構成プロパティ→C/C++→プリコンパイル済みヘッダー→
プリコンパイル済みヘッダーの作成/使用を「プリコンパイル済みヘッダーファイルを使用する
(/Yu)」に変更する
6. ソリューションエクスプローラで「stdafx.cpp」を右クリックしてプロパティを開き、左上の
構成を「すべての構成」にして、構成プロパティ→C/C++→プリコンパイル済みヘッダー→
プリコンパイル済みヘッダーの作成/使用を「プリコンパイル済みヘッダーファイルを作成する
(/Yc)」に変更する
これで、stdafx.hを変更する時以外は、ビルド速度がかなり劇的に上がるはず。
大した作業にはならないはずだから一度試すといい。
0768名前は開発中のものです。
2009/07/24(金) 09:09:49ID:5C3gkZxn自作ヘッダから<string>とか<math.h>とか使いたい場合も、「必ず全ての*.cppの最初で
stdafx.hがインクルードされる」という規則だから、結局は自作ヘッダがインクルードされる
時点ではstdafx.hが既に読み込み済みになってる。
なので、自作ヘッダに#include <string>とか書く必要も無し。自作ヘッダで使いたい標準の
ライブラリなんかのincludeも、全部stdafx.hに逃がせばおk。
0769名前は開発中のものです。
2009/07/24(金) 17:40:08ID:JWiEj2kHデメリットとかはありますか?
0770名前は開発中のものです。
2009/07/24(金) 18:12:52ID:HmqJ54co0771名前は開発中のものです。
2009/07/24(金) 19:26:36ID:5C3gkZxn「使いたい外部ライブラリのヘッダを全部何も考えずにstdafx.hに入れまくれ」
「全てのcppファイルの頭でstdafx.hをインクルードしろ」
ってルールが縛りといえば縛りだけど、むしろ楽になるだけだと思う。コンパイルも
別次元に速くなるし。
原理的には、stdafx.hの中身をコンパイルし終わったとこでいったん止めちゃって、
中間情報として拡張子pchのファイルに保存しておき、*.cppをコンパイルする時に
その情報を使い回して、#include "stdafx.h"まで読み飛ばして、それ以降のソース
だけコンパイルするイメージ。実際に内部がどう動いてるかは知らないけど。
なので、cppの頭で#include "stdafx.h"を入れ忘れると、
「プリコンパイル済みヘッダーの検索中に予期せぬ EOF を検出しました」
とか言われる。
stdafx.hの中には、C++のソースなら何書いても多分平気だから、大抵の使い方には
対応できると思われ。あまり頻繁に書き換えると、そのたびにpch作り直しで効果が
薄まるけど、自作ヘッダでも「更新少ない」「かなり色々なソースから参照される」
みたいな奴はstdafx.hに入れちゃってもいいと思う。
0772名前は開発中のものです。
2009/07/25(土) 15:25:58ID:3qZ+q5uIプレイヤーキャラクターを移動させたければこうすればいい。
といった部品部品は作れるけど、いざゲーム自体を作ろうとなったら全然作れないんだ。
いったいどうしたらいいのかな・・・?
0773名前は開発中のものです。
2009/07/25(土) 15:36:28ID:hVdocGyY一体何が問題なんだ?
それを言わずして質問されてもわかるはずがない。
0774名前は開発中のものです。
2009/07/25(土) 15:37:45ID:tEWYFYw5とりあえず目標を決めてはどうか。
ただし、あまり大作でも作れなきゃ意味がないので、
初期の携帯電話用ゲームや、初期のファミコン、インベーダゲーム、倉庫番あたりを目指す。
矢印キーだけ、せいぜいそこにボタン1個くらいで遊べるゲームが楽でいい。
目標が決まったら、それを「部品」に分解する。
うまく部品単位になればお前さんの勝利。
0775名前は開発中のものです。
2009/07/25(土) 17:05:50ID:OnXN/lFaずれた方向性がある。両方うまい人はすごくいい。
最初の一歩はとにかく単純に、ゲーム内容どうでもいいから一本のゲームとして
成り立ってる物を作る、つーこと。極端な話、全部WinMain()に入ってても一向に
構わない。(綺麗な部品作りに慣れてるならそうはならないだろうが)
部品は必要性を実感してから作る方が最適になりやすい。いわゆるシーズじゃなく
ニーズで作る。先に需要を予測して部品を作る、ってのはほどほどにすべき。
で、「クソゲー作ってもなぁ」と思うなら、いっそ最初から真面目に本気ゲーを
作り始めてしまっても全然問題ない。
0776名前は開発中のものです。
2009/07/26(日) 08:48:42ID:Hw5xOpYa特にシーンやリソースの管理が入ってくるとかなり面倒になる。
そういう点ではやっぱり最初は1面のみの単純なゲームから始めた方がいいね。
プログラムが大きくなればなるほどバグ取りも大変になるから、最初は小規模から始めた方がいい。
自分はいつも最初からあれこれ入れようとして墓穴を掘ってる。
0777名前は開発中のものです。
2009/07/26(日) 11:40:31ID:AWfgbmGQ紙にステータスを書いて遊ぶとか、人形をいじって遊ぶとか
そういうアナログな手法でイメージを立てて設計する
何も考えずにプログラムを先に書くのは意味がない。
ゲームを考える(妄想する)、ゲームを作る、ゲームを遊ぶ
この3つのどれが欠けてもうまくいかない
まず面白いシステムや世界観を考える
次にプログラム、シナリオ、絵、音楽などで形にする
最後に完成品を遊び倒して面白いゲームに近付ける
ゲームは工業製品だから、作り手の職人気質がもろに出るよ
0778名前は開発中のものです。
2009/07/26(日) 11:57:44ID:aBNM0ylQ>>776のいうシーン管理とかそういう骨組みの構造とか
0779名前は開発中のものです。
2009/07/26(日) 23:48:51ID:AGlm2m1e0780名前は開発中のものです。
2009/07/27(月) 00:01:10ID:GCep4g8b特に最初のうちは、あんまり考えないほうがいいと思うんだけどな。
緻密に設計していくのは、ミニゲームを何本か完成させた後のほうがいいと思う。
0781名前は開発中のものです。
2009/07/27(月) 00:11:13ID:bEbQPsi9肥大化してゲームになってる。
0782名前は開発中のものです。
2009/07/27(月) 00:16:38ID:VenKtjMK肥大化してまとまらなくなってやめる。
0783名前は開発中のものです。
2009/07/27(月) 00:30:42ID:aQ/IFL1X肥大化することなく寝る。
0784名前は開発中のものです。
2009/07/27(月) 01:20:08ID:VJq6W4rLフイタwwwww
0785名前は開発中のものです。
2009/07/27(月) 01:49:38ID:pfTBKVpb0786名前は開発中のものです。
2009/07/27(月) 04:39:26ID:GaH2TMCV今はゲームが完成しない
0787名前は開発中のものです。
2009/07/27(月) 04:44:35ID:aJcGKYvD0788名前は開発中のものです。
2009/07/27(月) 08:01:02ID:sP35fefq> そこで今度は××に冠する解説をよみ「これには△△が抜けている」という印象をもち、
> そしてなかなか自分のゲームが完成しない、というパターンに陥った人は少なくないでしょう。
> さまざまな技術書や解説書、入門書を読みつくし、最先端技術に精通しているはずなのに
> 自作アプリケーションがほとんど作れないというのは、決して珍しくありません。
0789名前は開発中のものです。
2009/07/27(月) 08:53:03ID:CBwVvngl0790名前は開発中のものです。
2009/07/27(月) 13:31:26ID:1REfJ+es0791名前は開発中のものです。
2009/07/27(月) 17:02:26ID:cEG3tUqV0792名前は開発中のものです。
2009/07/27(月) 21:15:32ID:C0govEpu俺はそれを胸に頑張ったよ…。
0793名前は開発中のものです。
2009/07/27(月) 23:14:17ID:aJcGKYvD何でも試してみるもんさ
0794名前は開発中のものです。
2009/07/27(月) 23:41:51ID:1REfJ+es0795名前は開発中のものです。
2009/07/28(火) 02:18:15ID:0RhUYUoP0796名前は開発中のものです。
2009/07/28(火) 05:12:13ID:uYQPfFdp3Dポリゴン描画したいです……
0797名前は開発中のものです。
2009/07/28(火) 12:23:42ID:YL4nqTsX0798名前は開発中のものです。
2009/07/28(火) 13:20:14ID:aQj264s2逃げたんじゃないか?
大学中退するやつだし
0799名前は開発中のものです。
2009/07/28(火) 19:50:25ID:lbcOkIrb3D描画をDXライブラリみたいに単純化するのは無理。3D描画のフレームワークは
D3DXで十分。それ以上やるとライブラリの独自色が付く。
2DもD3DXSpriteで構わないし、ちょっと調べればテクスチャにαの付いた板ポリを
D3DXで描画する方法はいくらでも出てくるけど。
DirectX6はDreamcast向け、DirectX8はXbox向けに作り直されてる訳で、そのまま
でも十分行けるライブラリ。DXライブラリの最大の意義は、WinMainのすっきり感
だと思う。
0800名前は開発中のものです。
2009/07/28(火) 20:50:59ID:LTJXvZ7vDXライブラリでも使えよ!って言われて固有名詞だとは夢にも思わず
なかなか存在に気付けなかった俺
0801名前は開発中のものです。
2009/07/28(火) 20:52:30ID:bkreYxYWゲームフレームワークみたいな方向に簡単にするなら別だけども
0802名前は開発中のものです。
2009/07/28(火) 21:36:50ID:C3k1GCCB流れを断ち切った横レスなんですが、
C言語+dxlibで作ったプログラムをC++のクラスってのを使って
まとめようと思い、メインループを書いてみたんですが、
書き方があっているのかすごく不安なのでお聞きしたいと思いました。
もし、スレチならいいスレ教えて・・・
よし!見せてみろ!ならソース張る。
0803名前は開発中のものです。
2009/07/28(火) 21:37:39ID:lZJGMEL/0804名前は開発中のものです。
2009/07/28(火) 21:43:58ID:LTJXvZ7vヨシみせてみろ
0805802
2009/07/28(火) 21:52:18ID:C3k1GCCB#include "GV.h"
int WINAPI WinMain(
HINSTANCE hI,HINSTANCE hP,
LPSTR lpC,int nC
)
{
ChangeWindowMode(TRUE);
if(DxLib_Init() == -1) return -1;
//↓このあたりがめっちゃ不安なのですが。
Flame* T = new Flame;
//
SetDrawScreen(DX_SCREEN_BACK);
//MainLoop()内で処理を書いてます
while(!(ProcessMessage()) && !(CheckHitKey(KEY_INPUT_ESCAPE))
&& (T -> MainLoop()) && !(ScreenFlip()) && !(ClsDrawScreen()));
//
DxLib_End();
return 0;
}
ヘッダファイルも見てもらえるのなら・・・・☆彡ってレスしてくらさい
0806名前は開発中のものです。
2009/07/28(火) 22:00:28ID:bkreYxYWそれだけならそんなにおかしいところはないと思う
細かいどうでもいいことを突っ込ませてもらうと,
FlameじゃなくてFrame
あと大文字一字の変数名はやめてくれ紛らわしい
0807801
2009/07/28(火) 22:09:21ID:C3k1GCCB一文字違いが大違いでした・・・
参考にした本(セガ本?)にそういう記述があったのでつい (Tの件は)
T* <=この変数を使う場合
T->A
T->B
とか、
for(int i=0;i<1000;i++){
T-> X[i]
}
みたいに変数の中身をwhileの中で更新しまくっても問題ないですか?
0808名前は開発中のものです。
2009/07/28(火) 22:10:29ID:YL4nqTsX0809名前は開発中のものです。
2009/07/28(火) 22:14:47ID:C3k1GCCBちなみに2章を読み始めてから進まないまま二ヶ月目
0810名前は開発中のものです。
2009/07/28(火) 22:16:24ID:bkreYxYWダメダメ
それならCの構造体と変わらない
クラスの外からメンバ変数にアクセスするのは避ける
クラスっていうのは,外からはボタンを押すだけで中で勝手に処理してくれる
便利な機械みたいな感じ(そういう風に作るのが理想)
0811名前は開発中のものです。
2009/07/28(火) 22:19:08ID:TfpzHMPf0812名前は開発中のものです。
2009/07/28(火) 22:26:10ID:bkreYxYWためしに他の人が作ったC++のクラスライブラリを触ってみればいいんじゃない
ゲームエンジンならSeleneとか
英語大丈夫ならIrrlichtなんかも簡潔でおすすめ
どういう風にクラスを使えばいいのかわかるよ
0813802
2009/07/28(火) 22:29:42ID:C3k1GCCB本高い・・・。
すでに
14才から・・・、
OS自作・・・
やさしいC・・・
よくわかるC・・・
IP!
Cプログラミング講座、
アルゴリズムマニアックス、
はじめてのアルゴリズム入門、
とかの本を買っては進めないところがあって止まるを繰り返してもう資金が・・・
来月余裕があったら買ってみます。
0814名前は開発中のものです。
2009/07/28(火) 22:31:58ID:TfpzHMPfそれか図書館だな
0815801
2009/07/28(火) 22:35:44ID:C3k1GCCBと勘違いして作り始めたのさ!
もう・・・タイムリミットがちかずいている・・・・・・
やつが・・・・来る!
0816名前は開発中のものです。
2009/07/28(火) 22:36:54ID:LTJXvZ7v0817802
2009/07/28(火) 22:41:24ID:C3k1GCCBそういうことなのか!
なんかよくわかった気がしました。
クラスの中で処理を完結すればいい感じになれるってことですね♪
アレ?ッてことは今書いるプログラムは・・・・
0818名前は開発中のものです。
2009/07/28(火) 22:50:21ID:lbcOkIrbどっかに親切な解説ねーかな。ここじゃ正直めんどい。
とりあえず今から風呂→ネトゲでギルド潜りするんで、一分でそれっぽいとこ探して
おいた。
ttp://gihyo.jp/dev/serial/01/antique_assembler
初心者に分かるかはシラネ。でもこれが分かればCのメモリでつまづくことはたぶん
無くなりそうな記事に見えた。15秒くらいしか読んでないけど。
0819名前は開発中のものです。
2009/07/28(火) 22:55:24ID:lbcOkIrb素直に読めるもんじゃないかも。
ある程度「ふんふんそんなもんか」って飛ばし読みするには悪くないとは思うけど、
真面目にサンプルコードを走らせたりするタイプだと微妙にきつそう。
0820名前は開発中のものです。
2009/07/28(火) 22:57:31ID:bkreYxYWオブジェクト指向をちゃんとやりたかったらJavaのような
思いっきり抽象的な世界でリフレッシュした方がいいかもしれない
ゲーム作るのだって簡単
0821名前は開発中のものです。
2009/07/28(火) 22:58:28ID:C3k1GCCB関数を呼び出したときには元の場所に帰ってくるための情報が
どこかよくわからないない場所に
スタックの構造をした形でつまれているんだよ、ってこと?
■ このスレッドは過去ログ倉庫に格納されています