c言語わくわくゲームプログラミング教室の3-01で…
c言語わくわくゲームプログラミング教室の3-01で…
DXライブラリ初心者です
現在14歳からはじめるc言語わくわくゲームプログラミングで学習中なのですが、74ページのテストプログラムのメイクは出来て、実行結果がウィンドウの左上に水色の四角形で描かれるはずなのに、全体が真っ黒のままで解決策がわかりません
解決策を教えてください
現在14歳からはじめるc言語わくわくゲームプログラミングで学習中なのですが、74ページのテストプログラムのメイクは出来て、実行結果がウィンドウの左上に水色の四角形で描かれるはずなのに、全体が真っ黒のままで解決策がわかりません
解決策を教えてください
- Dixq (管理人)
- 管理人
- 記事: 1661
- 登録日時: 13年前
- 住所: 北海道札幌市
- 連絡を取る:
Re: c言語わくわくゲームプログラミング教室の3-01で…
うちのサイトはその本となんの縁もないですし、私も本を持っていないのでいきなり74ページといわれても全く分からないです。
具体的にどんなコードでどういう環境なのでしょうか。
具体的にどんなコードでどういう環境なのでしょうか。
Re: c言語わくわくゲームプログラミング教室の3-01で…
Dixpさん、ご指摘ありがとうございましたDixq (管理人) さんが書きました:うちのサイトはその本となんの縁もないですし、私も本を持っていないのでいきなり74ページといわれても全く分からないです。
具体的にどんなコードでどういう環境なのでしょうか。
次から気をつけます
環境はBorland C++ コンパイラ 5.5
drawbox関数のコードで
#include”DxLib.h”
int WINAPI WinMain(HINSTANCE hI, HINSTANCE hP, LPSTR lpC, int nC )
{
ChangeWindowMode( TRUE );
if(DxLib_Init == -1) return(-1);
DrawBox( 0 , 0 , 120 , 120 , 65535 , TRUE );
WaitKey( );
DxLib_End( ) ;
return( 0 );
}
というプログラムです
上記のプログラムのメイクは出来ましたが、実行結果でウィンドウの左上に水色が描かれるはずなのに、全体が真っ暗でウィンドウが表示されます
解決策を教えてください
Re: c言語わくわくゲームプログラミング教室の3-01で…
色を65535のようなマジックナンバーで指定すると環境依存になり、よくないです。
色はGetColor関数を用いて指定するといいでしょう。
色はGetColor関数を用いて指定するといいでしょう。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)
Re: c言語わくわくゲームプログラミング教室の3-01で…
先ほどのプログラムの65535をGetColor( 255, 255, 0 )に変えたり、みけCAT さんが書きました:色を65535のようなマジックナンバーで指定すると環境依存になり、よくないです。
色はGetColor関数を用いて指定するといいでしょう。
int col = Getcolor (255,255,0)と先に定義して、
65535をcolに変えて、リンクして、実行したのですが、やはり全体が真っ黒になります
Re: c言語わくわくゲームプログラミング教室の3-01で…
DXライブラリ置き場 http://dxlib.o.oo7.jp/
にある 大槻 有一郎先生の本 と思いますが いま手元にないのですが 過去ログに何度か答えた記憶があります。VisualStudio用に書かれた本なのでVisualStudioが使える環境だとわかりやすいとおもいます。(一時期他の方が答えられていましたがよく質問があったはずです)
ゲームのソースコードもダウンロードできますよ(^^;。 でいいはずです。Borland C++ コンパイラ 5.5がよくわかりませんがメイクは出来たということですが Makefileはどの様にされましたでしょうか。
にある 大槻 有一郎先生の本 と思いますが いま手元にないのですが 過去ログに何度か答えた記憶があります。VisualStudio用に書かれた本なのでVisualStudioが使える環境だとわかりやすいとおもいます。(一時期他の方が答えられていましたがよく質問があったはずです)
ゲームのソースコードもダウンロードできますよ(^^;。 でいいはずです。Borland C++ コンパイラ 5.5がよくわかりませんがメイクは出来たということですが Makefileはどの様にされましたでしょうか。
- Dixq (管理人)
- 管理人
- 記事: 1661
- 登録日時: 13年前
- 住所: 北海道札幌市
- 連絡を取る:
Re: c言語わくわくゲームプログラミング教室の3-01で…
そのコード色々と変なので、そのままだとコンパイル通らないと思いますが、それ実行したコードのコピペですか?
このように書いて私の環境で実行したらちゃんと期待の動作をしました。
その本以前少しだけ見たの思い出しました。
何故かこの人色の指定を間違った方法で記載してるんですよね、ちょいちょい間違ったコードがかかれているので注意です。
このコードを書いてもなお、画面が真っ暗なのであれば、
かいているコードとプロジェクトのコードが違うとかのケアレスミスじゃないでしょうか。
ちゃんと書いているファイルは実行対象のファイルですか?
printfDx("テスト");
のようなログを仕込んでも表示されないのであればファイルが違うなどのケアレスミスでありましょう。
このように書いて私の環境で実行したらちゃんと期待の動作をしました。
#include "DxLib.h"
int WINAPI WinMain(HINSTANCE hI, HINSTANCE hP, LPSTR lpC, int nC)
{
ChangeWindowMode(TRUE);
if (DxLib_Init() == -1) {
return -1;
}
DrawBox(0, 0, 120, 120, GetColor(255, 255, 255), TRUE);
WaitKey();
DxLib_End();
return 0;
}
何故かこの人色の指定を間違った方法で記載してるんですよね、ちょいちょい間違ったコードがかかれているので注意です。
このコードを書いてもなお、画面が真っ暗なのであれば、
かいているコードとプロジェクトのコードが違うとかのケアレスミスじゃないでしょうか。
ちゃんと書いているファイルは実行対象のファイルですか?
printfDx("テスト");
のようなログを仕込んでも表示されないのであればファイルが違うなどのケアレスミスでありましょう。
Re: c言語わくわくゲームプログラミング教室の3-01で…
Makefileは(VS2017)
実行
です。
TARGETNAME=g1
C_FLAGS=/c /TP /EHsc /D "_MBCS" /MT /Id:\dxlib /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /W3
LINK_FLAGS=/SUBSYSTEM:WINDOWS /LIBPATH:d:\dxlib "kernel32.lib" "user32.lib" "gdi32.lib" "winspool.lib" "comdlg32.lib" "advapi32.lib" "shell32.lib" "ole32.lib" "oleaut32.lib" "uuid.lib" "odbc32.lib" "odbccp32.lib"
ALL:
cl $(C_FLAGS) $(TARGETNAME).cpp
link /out:$(TARGETNAME).exe $(LINK_FLAGS) $(TARGETNAME).obj
$(TARGETNAME).exe
Re: c言語わくわくゲームプログラミング教室の3-01で…
printfDx(”テスト”); を仕込んでも表示されないので、ファイルが違うなどのケアレスミスだと思うんですけど、どのような手順で目的の実行対象のファイルを実行できますか?Dixq (管理人) さんが書きました:そのコード色々と変なので、そのままだとコンパイル通らないと思いますが、それ実行したコードのコピペですか?
このように書いて私の環境で実行したらちゃんと期待の動作をしました。その本以前少しだけ見たの思い出しました。#include "DxLib.h" int WINAPI WinMain(HINSTANCE hI, HINSTANCE hP, LPSTR lpC, int nC) { ChangeWindowMode(TRUE); if (DxLib_Init() == -1) { return -1; } DrawBox(0, 0, 120, 120, GetColor(255, 255, 255), TRUE); WaitKey(); DxLib_End(); return 0; }
何故かこの人色の指定を間違った方法で記載してるんですよね、ちょいちょい間違ったコードがかかれているので注意です。
このコードを書いてもなお、画面が真っ暗なのであれば、
かいているコードとプロジェクトのコードが違うとかのケアレスミスじゃないでしょうか。
ちゃんと書いているファイルは実行対象のファイルですか?
printfDx("テスト");
のようなログを仕込んでも表示されないのであればファイルが違うなどのケアレスミスでありましょう。
Re: c言語わくわくゲームプログラミング教室の3-01で…
すいませんMath さんが書きました:Makefileは(VS2017)実行 です。TARGETNAME=g1 C_FLAGS=/c /TP /EHsc /D "_MBCS" /MT /Id:\dxlib /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /W3 LINK_FLAGS=/SUBSYSTEM:WINDOWS /LIBPATH:d:\dxlib "kernel32.lib" "user32.lib" "gdi32.lib" "winspool.lib" "comdlg32.lib" "advapi32.lib" "shell32.lib" "ole32.lib" "oleaut32.lib" "uuid.lib" "odbc32.lib" "odbccp32.lib" ALL: cl $(C_FLAGS) $(TARGETNAME).cpp link /out:$(TARGETNAME).exe $(LINK_FLAGS) $(TARGETNAME).obj $(TARGETNAME).exe
自分でMakefileについて調べたのですが、Makefileがわかりません
できれば教えてください
Re: c言語わくわくゲームプログラミング教室の3-01で…
>色を65535のようなマジックナンバーで指定すると環境依存になり、よくないです。
>何故かこの人色の指定を間違った方法で記載してるんですよね、ちょいちょい間違ったコードがかかれているので注意です。
0~1670万の間の数値なら問題ないと思いますが。(詳しくは256 x 256 x 256 = 16 777 216まで)
VS2017で動作確認済みです。256 x 256 = 65 536 ですね。
>何故かこの人色の指定を間違った方法で記載してるんですよね、ちょいちょい間違ったコードがかかれているので注意です。
0~1670万の間の数値なら問題ないと思いますが。(詳しくは256 x 256 x 256 = 16 777 216まで)
#include <DxLib.h>
int WINAPI WinMain(HINSTANCE h1, HINSTANCE hP, LPSTR lpC, int nC) {
unsigned int col;
//DXライブラリ初期化
if (DxLib_Init() == -1) return -1;
col=GetColor(0, 255, 255);
printfDx("テスト%x",col);
//ボックスを描画
DrawBox(0, 0, 120, 120, 65535, TRUE);
//待機
WaitKey();
//DXライブラリの終了
DxLib_End();
return 0;
}
Re: c言語わくわくゲームプログラミング教室の3-01で…
本のページだけでは伝わらないことくらいすぐに分かるでしょう
回答してあげる側の手を煩わせないよう、完全な質問にしてから聞いてください
Makefileも調べが足りないのではないでしょうか?
どう調べたかなど言ってもらわないと、分かってない以上は調べてないと思われても不思議ではありません
回答してあげる側の手を煩わせないよう、完全な質問にしてから聞いてください
Makefileも調べが足りないのではないでしょうか?
どう調べたかなど言ってもらわないと、分かってない以上は調べてないと思われても不思議ではありません
Re: c言語わくわくゲームプログラミング教室の3-01で…
ここhttp://dxlib.o.oo7.jp/use/dxuse_bcc.html#R1の設定を途中までやってみましたがとても面倒なのでやめました。(><)
この設定で実行されていると思われますがコンフィグ・ファイルが私には理解できないので 時間がありません。VisualStudio用なら詳しく説明できるのですが…
(再度設定を確認されると解決するかもしれませんね)
この設定で実行されていると思われますがコンフィグ・ファイルが私には理解できないので 時間がありません。VisualStudio用なら詳しく説明できるのですが…
(再度設定を確認されると解決するかもしれませんね)
Re: c言語わくわくゲームプログラミング教室の3-01で…
>本のページだけでは伝わらないことくらいすぐに分かるでしょう
偶然てあるものですね。そのページのプログラムがあったのです。(^^;
藁にもすがりたいときは いってみるものですね…。(確率的にここには質問が多そうな問題ではありますね)
偶然てあるものですね。そのページのプログラムがあったのです。(^^;
藁にもすがりたいときは いってみるものですね…。(確率的にここには質問が多そうな問題ではありますね)
- Dixq (管理人)
- 管理人
- 記事: 1661
- 登録日時: 13年前
- 住所: 北海道札幌市
- 連絡を取る:
Re: c言語わくわくゲームプログラミング教室の3-01で…
uniさん
自分のトピック内で面白おかしく話を展開するのはまだ許せますが
他のトピックで遊ぶのは見逃せません。
もし次に似たような記述をしたら削除します。
ここに返答を書かないで下さい。
もし反論があれば、この言動の元となったトピックに書いて下さい。
自分のトピック内で面白おかしく話を展開するのはまだ許せますが
他のトピックで遊ぶのは見逃せません。
もし次に似たような記述をしたら削除します。
ここに返答を書かないで下さい。
もし反論があれば、この言動の元となったトピックに書いて下さい。
- Dixq (管理人)
- 管理人
- 記事: 1661
- 登録日時: 13年前
- 住所: 北海道札幌市
- 連絡を取る:
Re: c言語わくわくゲームプログラミング教室の3-01で…
drawさん
普通VisualStudioで作るのでmakefileが分からないなら
VisualStudioの環境でコンパイルしてみてください。
Mathさん
色コードは画面のカラービット数が変化すると変わるはずです。
リファレンスにも関数を利用するように書かれています。
http://dxlib.o.oo7.jp/function/dxfunc_graph3.html#R4N5
普通VisualStudioで作るのでmakefileが分からないなら
VisualStudioの環境でコンパイルしてみてください。
Mathさん
色コードは画面のカラービット数が変化すると変わるはずです。
リファレンスにも関数を利用するように書かれています。
http://dxlib.o.oo7.jp/function/dxfunc_graph3.html#R4N5
Re: c言語わくわくゲームプログラミング教室の3-01で…
多分、visual studioの環境でする人が多い(←偏見)ので、
今の環境から、visual studioの環境に変えて、また1から出直そうかと思います
(そちらのほうがスムーズに受け答えできると思うので)
もし、ゲームプログラミングが目的でしていたという人で、visual studioの環境でどんな手順を踏んで学んだか、オススメの本など教えてください
例)手順1:~~という本でC言語を勉強
手順2:~~という本でゲームプログラミングを勉強
手順3:自作ゲームを作成
最初の話と全然変わってしまい、申し訳ありません
今の環境から、visual studioの環境に変えて、また1から出直そうかと思います
(そちらのほうがスムーズに受け答えできると思うので)
もし、ゲームプログラミングが目的でしていたという人で、visual studioの環境でどんな手順を踏んで学んだか、オススメの本など教えてください
例)手順1:~~という本でC言語を勉強
手順2:~~という本でゲームプログラミングを勉強
手順3:自作ゲームを作成
最初の話と全然変わってしまい、申し訳ありません
- Dixq (管理人)
- 管理人
- 記事: 1661
- 登録日時: 13年前
- 住所: 北海道札幌市
- 連絡を取る:
Re: c言語わくわくゲームプログラミング教室の3-01で…
私はひたすらDXライブラリーのリファレンスを読んで勉強しましたが、
私のノウハウを当サイトで公開してますので、よかったら参考にして下さい
http://dixq.net/g
http://dixq.net/rp2
私のノウハウを当サイトで公開してますので、よかったら参考にして下さい
http://dixq.net/g
http://dixq.net/rp2
Re: c言語わくわくゲームプログラミング教室の3-01で…
http://dixq.net/forum/viewtopic.php?f=3&t=19901
http://dxlib.o.oo7.jp/use/dxuse_cpp_builder.html
C++Builder はDelphiのC++版である。
https://ja.wikipedia.org/wiki/C%2B%2B_Builder
「FireMonkey や Visual Component Library (VCL) を利用するIDEを持つDelphiのC++版である。」
C#はDelphiをベースにしている。
https://ja.wikipedia.org/wiki/C_Sharp
https://ja.wikipedia.org/wiki/C%2B%2B_Builderによると 「Borland C++ コンパイラ 5.5」は C++Builderに受け継がれているようでしかも旧いらしい。
「Borland C++ コンパイラ 5.5」を使うより「C++Builder」使えば設定はしなくてもつかえますよ。
http://dxlib.o.oo7.jp/use/dxuse_cpp_builder.html
C++Builder はDelphiのC++版である。
https://ja.wikipedia.org/wiki/C%2B%2B_Builder
「FireMonkey や Visual Component Library (VCL) を利用するIDEを持つDelphiのC++版である。」
C#はDelphiをベースにしている。
https://ja.wikipedia.org/wiki/C_Sharp
https://ja.wikipedia.org/wiki/C%2B%2B_Builderによると 「Borland C++ コンパイラ 5.5」は C++Builderに受け継がれているようでしかも旧いらしい。
「Borland C++ コンパイラ 5.5」を使うより「C++Builder」使えば設定はしなくてもつかえますよ。
Re: c言語わくわくゲームプログラミング教室の3-01で…
「C++Builder」テストしてみました。VisualStudio2015のprogramがそのまま動きました。
http://www2.koyoen.birdview.co.jp/~abcxyz/c2.jpg
http://www2.koyoen.birdview.co.jp/~abcxyz/c1.jpg
#include <stdio.h>
#include <math.h>
#include "DxLib.h"
// プログラムは WinMain から始まります
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow )
{
int x;
int y;
double dx;
double dy;
/////////////////////////////////////////////////////////////
//コンソールを作成し,標準入出力に割り当てる
AllocConsole();
freopen("CONOUT$", "w", stdout); //標準出力をコンソールにする
/////////////////////////////////////////////////
//コンソールを作成し,標準入出力に割り当てている
printf("WinMain:start\n");
ChangeWindowMode(TRUE); // ウインドウモードに設定
if( DxLib_Init() == -1 ) // DXライブラリ初期化処理
{
return -1 ; // エラーが起きたら直ちに終了
}
UINT White = GetColor(255, 255, 255); // 白色の取得
DrawString(30, 20, "*** 正弦波 余弦波 ***", White); // 文字を書く
LoadGraphScreen(30, 50, "D:\\img\\pc01.png", TRUE); // 画像を描画する
printf("軸線:start\n");
y = 240;
for(x=0; x < 640; x++){
DrawPixel( x, y, White ) ; // 点を打つ
}
printf("正弦波:start\n");
for(x=0; x < 640; x++){
dy = -240 * sin( (3.14 / 180) * x );
y = (int)dy;
y = 240 + y;
DrawPixel( x, y, GetColor( 0,255,255 ) ) ; // 点を打つ
}
printf("余弦波:start\n");
for(x=0; x < 640; x++){
dy = -240 * cos( (3.14 / 180) * x );
y = (int)dy;
y = 240 + y;
DrawPixel( x, y, GetColor( 255,255,0) ) ; // 点を打つ
}
printf("WaitKey:start\n");
WaitKey() ; // キー入力待ち
printf("DxLib_Init:end\n");
printf("WaitKey:start\n");
DxLib_End() ; // DXライブラリ使用の終了処理
printf("DxLib_Init:end\n");
printf("WinMain:end\n");
return 0 ; // ソフトの終了
}
http://www2.koyoen.birdview.co.jp/~abcxyz/c1.jpg
Re: c言語わくわくゲームプログラミング教室の3-01で…
http://dixq.net/g/の
3d.01 3Dモデルを表示してみよう をお借りして
「C++Builder」テストしてみました。そのまま動きました。
http://www2.koyoen.birdview.co.jp/~abcxyz/k.jpg
3d.01 3Dモデルを表示してみよう をお借りして
「C++Builder」テストしてみました。そのまま動きました。
http://www2.koyoen.birdview.co.jp/~abcxyz/k.jpg
// ここにサンプルプログラムをペーストしてください
/***** main.cpp *****/
#include <DxLib.h>
int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int){
ChangeWindowMode(TRUE), DxLib_Init(), SetDrawScreen( DX_SCREEN_BACK );
//3Dモデルの読み込み
int ModelHandle = MV1LoadModel( "G:/dat/Lat式ミク/Lat式ミクVer2.3_Normal.pmd" ) ;
//奥行0.1~1000までをカメラの描画範囲とする
SetCameraNearFar( 0.1f, 1000.0f ) ;
//(0,10,-20)の視点から(0,10,0)のターゲットを見る角度にカメラを設置
SetCameraPositionAndTarget_UpVecY( VGet( 0, 10, -20 ), VGet( 0.0f, 10.0f, 0.0f ) ) ;
while(!ScreenFlip()&&!ProcessMessage()&&!ClearDrawScreen()){
// 3Dモデルの描画
MV1DrawModel( ModelHandle ) ;
}
DxLib_End();
return 0;
}
Re: c言語わくわくゲームプログラミング教室の3-01で…
>すいません
>自分でMakefileについて調べたのですが、Makefileがわかりません
>できれば教えてください
(No.11)
>ここhttp://dxlib.o.oo7.jp/use/dxuse_bcc.html#R1の設定を途中までやってみましたがとても面倒なのでやめました。(><)
>この設定で実行されていると思われますがコンフィグ・ファイルが私には理解できないので 時間がありません。VisualStudio用なら詳しく説明>できるのですが…
過去ログで何度かMakefileについて回答しています。
ここhttp://dxlib.o.oo7.jp/use/dxuse_vscom2017.html#R4の説明を置き換えたものが
http://www2.koyoen.birdview.co.jp/~abcxyz/x.jpg
になります。
Microsoftのmakeは nmake.exe です。
Borland C++ では make.exe です。
>自分でMakefileについて調べたのですが、Makefileがわかりません
>できれば教えてください
(No.11)
>ここhttp://dxlib.o.oo7.jp/use/dxuse_bcc.html#R1の設定を途中までやってみましたがとても面倒なのでやめました。(><)
>この設定で実行されていると思われますがコンフィグ・ファイルが私には理解できないので 時間がありません。VisualStudio用なら詳しく説明>できるのですが…
過去ログで何度かMakefileについて回答しています。
ここhttp://dxlib.o.oo7.jp/use/dxuse_vscom2017.html#R4の説明を置き換えたものが
http://www2.koyoen.birdview.co.jp/~abcxyz/x.jpg
になります。
Microsoftのmakeは nmake.exe です。
Borland C++ では make.exe です。
Re: c言語わくわくゲームプログラミング教室の3-01で…
[VS2017 Community の場合:開発車用コマンドプロンプトを使用したDXライブラリのコンパイル]
いま d:\dxlib に DxLib_VC\プロジェクトに追加すべきファイル_VC用の内容を置いて
メイクファイルを下記のように書きます。
g.mak
ソースファイルを
http://dixq.net/g/
3d.02 カメラを回転してみようう からお借りして
main.cpp
実行バッチファイル
g.bat 実行結果
http://www2.koyoen.birdview.co.jp/~abcxyz/あ.jpg
http://www2.koyoen.birdview.co.jp/~abcxyz/い.jpg
ファイル
いま d:\dxlib に DxLib_VC\プロジェクトに追加すべきファイル_VC用の内容を置いて
メイクファイルを下記のように書きます。
g.mak
TARGETNAME=main
C_FLAGS=/c /TP /EHsc /D "_MBCS" /MT /Id:\dxlib /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /W3
LINK_FLAGS=/SUBSYSTEM:WINDOWS /LIBPATH:d:\dxlib "kernel32.lib" "user32.lib" "gdi32.lib" "winspool.lib" "comdlg32.lib" "advapi32.lib" "shell32.lib" "ole32.lib" "oleaut32.lib" "uuid.lib" "odbc32.lib" "odbccp32.lib"
ALL:
cl $(C_FLAGS) $(TARGETNAME).cpp
link /out:$(TARGETNAME).exe $(LINK_FLAGS) $(TARGETNAME).obj
$(TARGETNAME).exe
http://dixq.net/g/
3d.02 カメラを回転してみようう からお借りして
main.cpp
#include <math.h>
#include <DxLib.h>
static const float ROTATE_SPEED = DX_PI_F/90;//回転スピード
// (x,y)の点を(mx,my)を中心にang角回転する
void rotate(float *x, float *y, const float ang, const float mx, const float my){
const float ox = *x-mx, oy = *y-my;
*x = ox * cos(ang) + oy * sin(ang);
*y = -ox * sin(ang) + oy * cos(ang);
*x += mx;
*y += my;
}
int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int){
ChangeWindowMode(TRUE), DxLib_Init(), SetDrawScreen( DX_SCREEN_BACK );
float cameraX=0, cameraZ=-20; //カメラの座標
const float targetX=0, targetZ=0;//カメラの視線の先ターゲットの座標
//3Dモデルの読み込み
int ModelHandle = MV1LoadModel( "G:/dat/Lat式ミク/Lat式ミクVer2.3_Normal.pmd" ) ;
//奥行0.1~1000までをカメラの描画範囲とする
SetCameraNearFar( 0.1f, 1000.0f ) ;
while(!ScreenFlip()&&!ProcessMessage()&&!ClearDrawScreen()){
if( CheckHitKey(KEY_INPUT_LEFT) > 0 ){//左キーが押されていたら
rotate(&cameraX, &cameraZ, +ROTATE_SPEED, targetX, targetZ);//回転
}
if( CheckHitKey(KEY_INPUT_RIGHT) > 0 ){//右キーが押されていたら
rotate(&cameraX, &cameraZ, -ROTATE_SPEED, targetX, targetZ);//回転
}
//第一引数の視点から第二引数のターゲットを見る角度にカメラを設置
SetCameraPositionAndTarget_UpVecY( VGet( cameraX, 10, cameraZ ), VGet( targetX, 10.0f, targetZ ) ) ;
// 3Dモデルの描画
MV1DrawModel( ModelHandle ) ;
}
DxLib_End();
return 0;
}
g.bat 実行結果
G:\z18g\0124>g
G:\z18g\0124>nmake -f g.mak
Microsoft(R) Program Maintenance Utility Version 14.11.25508.2
Copyright (C) Microsoft Corporation. All rights reserved.
cl /c /TP /EHsc /D "_MBCS" /MT /Id:\dxlib /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /W3 main.cpp
Microsoft(R) C/C++ Optimizing Compiler Version 19.11.25508.2 for x86
Copyright (C) Microsoft Corporation. All rights reserved.
main.cpp
main.cpp(9): warning C4244: '=': 'double' から 'float' への変換です。データが失われる可能性があります。
main.cpp(10): warning C4244: '=': 'double' から 'float' への変換です。データが失われる可能性があります。
link /out:main.exe /SUBSYSTEM:WINDOWS /LIBPATH:d:\dxlib "kernel32.lib" "user32.lib" "gdi32.lib" "winspool.lib" "comdlg32.lib" "advapi32.lib" "shell32.lib" "ole32.lib" "oleaut32.lib" "uuid.lib" "odbc32.lib" "odbccp32.lib" main.obj
Microsoft (R) Incremental Linker Version 14.11.25508.2
Copyright (C) Microsoft Corporation. All rights reserved.
main.exe
http://www2.koyoen.birdview.co.jp/~abcxyz/い.jpg
ファイル
G:\z18g\0124>DIR
ドライブ G のボリューム ラベルがありません。
ボリューム シリアル番号は 9016-4EF8 です
G:\z18g\0124 のディレクトリ
2018/01/24 15:06 <DIR> .
2018/01/24 15:06 <DIR> ..
2018/01/24 18:17 16 g.bat
2018/01/24 18:27 1,554 main.cpp
2018/01/24 18:26 467 g.mak
2018/01/24 18:31 4,786 main.obj
2018/01/24 18:31 6,228,992 main.exe
2018/01/24 18:57 11,440 Log.txt
6 個のファイル 6,247,255 バイト
2 個のディレクトリ 4,492,361,728 バイトの空き領域
G:\z18g\0124>
Re: c言語わくわくゲームプログラミング教室の3-01で…
上のことは VS2008 でも 全く変更なしで実行できます。(Windows10 です)
http://www2.koyoen.birdview.co.jp/~abcxyz/て.jpg
Setting environment for using Microsoft Visual Studio 2008 x86 tools.
C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC>g:
G:\>cd z18g
G:\z18g>cd 0124
G:\z18g\0124>g
G:\z18g\0124>nmake -f g.mak
Microsoft(R) Program Maintenance Utility Version 9.00.30729.01
Copyright (C) Microsoft Corporation. All rights reserved.
cl /c /TP /EHsc /D "_MBCS" /MT /Id:\dxlib /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /W3 main.cpp
Microsoft(R) 32-bit C/C++ Optimizing Compiler Version 15.00.30729.01 for 80x86
Copyright (C) Microsoft Corporation. All rights reserved.
main.cpp
link /out:main.exe /SUBSYSTEM:WINDOWS /LIBPATH:d:\dxlib "kernel32.lib" "user32.lib" "gdi32.lib" "winspool.lib" "comdlg32.lib" "advapi32.lib" "shell32.lib" "ole32.lib" "oleaut32.lib" "uuid.lib" "odbc32.lib" "odbccp32.lib" main.obj
Microsoft (R) Incremental Linker Version 9.00.30729.01
Copyright (C) Microsoft Corporation. All rights reserved.
main.exe
Re: c言語わくわくゲームプログラミング教室の3-01で…
>環境はBorland C++ コンパイラ 5.5
とはエンバカデロ・テクノロジーズ社が提供されているフリーのコンパイラBorland C++ Compiler 5.5の事でしょうか。[VersionはEmbarcadero C++ 7.30 for Win32 Copyright (c) 2012-2017 Embarcadero Technologies, Inc.]
https://www.embarcadero.com/jp/free-tools
[BCC32コンパイラは、エンバカデロのC++Builder製品ファミリーで利用されているC++コンパイラのルーツとなるコマンドラインコンパイラです。
C++コンパイラの無料ダウンロード版には、C++11言語サポート、Dinkumware STL(Standard Template Library)フレームワーク、Embarcadero C/C++ Runtime Library(RTL)が含まれています。この無料バージョンには、ハイパフォーマンスリンカやリソースコンパイラなどのいくつかのC/C++コマンドラインツールも含まれています。]
とあります。
ここhttp://cm.hit-u.ac.jp/~kobayashi/topics/compiler.htmlに使い方があります。
コマンドプロンプトのオプションは次のようです。
とはエンバカデロ・テクノロジーズ社が提供されているフリーのコンパイラBorland C++ Compiler 5.5の事でしょうか。[VersionはEmbarcadero C++ 7.30 for Win32 Copyright (c) 2012-2017 Embarcadero Technologies, Inc.]
https://www.embarcadero.com/jp/free-tools
[BCC32コンパイラは、エンバカデロのC++Builder製品ファミリーで利用されているC++コンパイラのルーツとなるコマンドラインコンパイラです。
C++コンパイラの無料ダウンロード版には、C++11言語サポート、Dinkumware STL(Standard Template Library)フレームワーク、Embarcadero C/C++ Runtime Library(RTL)が含まれています。この無料バージョンには、ハイパフォーマンスリンカやリソースコンパイラなどのいくつかのC/C++コマンドラインツールも含まれています。]
とあります。
ここhttp://cm.hit-u.ac.jp/~kobayashi/topics/compiler.htmlに使い方があります。
コマンドプロンプトのオプションは次のようです。
Embarcadero C++ 7.30 for Win32 Copyright (c) 1993-2017 Embarcadero Technologies, Inc.
使用できるオプション (* はデフォルトの設定。 xxx はサブオプションで、-h -X などで表示):
(メモ: -X- または -w-XXX を指定すると、通常、-X または -wXXX による設定または設定解除が取り消されます。)
2 つのオプションが競合する場合は、最後に指定されたものが使用されます)。
--sysroot ヘッダー、ライブラリ、フレームワークの論理的なルート ディレクトリを
設定します
(--sysinc または --syslib で指定されたパスや '/' で始まる -F パスには
この値が先頭に付加されます)
--sysinc システム インクルード ファイルの検索パスを設定する
(指定された場合、sysroot が先頭に付加される)
--syslib システム ライブラリ ファイルの検索パスを設定する
(指定された場合、sysroot が先頭に付加される)
--savemem SAVEMEM メモリの最大サイズ (MB 単位) を設定する
(これは、グローバル シンボルおよび類似の構文要素を格納するために
割り当てられる連続したメモリです。プリコンパイル済みヘッダーでは
このメモリを使用します)
--version コンパイラのバージョンを表示する
--replacehdr ヘッダー名を置換 (たとえば --replaceHeader=a.h=b.h)
--xrtti 拡張 RTTI 情報の生成
-3 80386 保護モード互換命令を生成
-4 80386/80486 保護モード互換命令を生成
-5 Pentium 命令を生成
-6 Pentium Pro 命令を生成
-Axxx ANSI 準拠を有効にする
-B .ASM にコンパイルして (-S) から .OBJ にアセンブルする
-Cxxx コメントのネストを有効にする
-D -D<name> は 'name' をヌル文字列と定義します。
または、-D<name>=<value> を使用してください
-E 使用するアセンブラを指定
-G サイズ/速度を最適化する (-O1 および -O2 を使用)
-Hxxx プリコンパイル ヘッダーを生成し、使用します
-I インクルード ファイルの検索パスを設定します
-Jxxx テンプレート生成オプション
-K デフォルトの文字型を符号なしに設定
-L ライブラリ ファイルのサーチ パス
-M リンカ マップ ファイルを作成します
-N さまざまなオプション (-h -N を参照)
-Nd マクロはデフォルトで "1" の値を取得します (-DX => -DX=1)
-Nt GNU __typeof(var) をサポートします
-Nv void& を有効なタイプとして許可します
-O ジャンプの最適化
-P ソースの拡張子に関係なく C++ コンパイルを実行
-Q 拡張コンパイラ エラー情報
-Rxxx .OBJ ファイルにブラウザ情報を含めます
-S アセンブリ コードにコンパイル
-T アセンブラ オプション (たとえば -Tx) を指定
-U 以前の名前定義をすべて取り消す
-Vxxx 互換オプション
-W ターゲットは Windows アプリケーションです
-X コンパイラに自動依存情報を出力させない
-Zd グローバル定義を DocBook 仕様として出力します (-Zd=<file>.c を使用)
-Zn and/or の無効化は CodeGear ビルトインを定義しません
-Zx グローバル定義を XML ファイルに出力します。
サブ オプション:
-Zx=<ファイル名> <ファイル名> 内の型/宣言のみ出力
-Zxf[=<ファイル名>] 基底型メンバを省略
-Zxm[=<ファイル名>] マクロを出力
-Zxp[=<ファイル名>] ファイルおよび行の位置を出力
-axxx データ アラインメント境界を設定します。
デフォルトは -a8 です (-a- は -a1 と同じ)
-b -bi を有効にして、型チェックの観点から列挙型を整数型 (int) として扱う
* -bi sizeof(enum x) == sizeof(int) にします。
ただし明示的に指定する場合を除きます
-c オブジェクト ファイル (.obj) にコンパイルし、リンクしません
-d 重複文字列をマージ
-dc 文字列を読み取り専用データ セグメントに挿入
-dw 文字列を (書き込み可能) データセグメントに挿入します
-e ターゲット実行可能パス名を指定します
* -ff 高速浮動小数点演算
-fp Pentium FDIV 問題の回避
* -fq サイレント モードの浮動小数点比較命令 (FUCOMP) を使用
-g n 回の警告の後でバッチ コンパイルを停止するように指定します
(デフォルト = 255)
-h ヘルプを要求します ('-h -' はすべてのヘルプを表示) 。
特定のヘルプを指定できます (-h -V)
-i 識別子として認識される最大長を指定 (デフォルト = 250)
-j n 回のエラー発生後にバッチ コンパイルを停止 (デフォルト = 50)
* -k 標準スタック フレームを生成します
-l オプションをリンカに渡します (例: -ls -l-x)
-m メイクファイルの依存情報を生成します
-md 依存情報をオブジェクト ファイルではなく .d ファイルに挿入します
-mm 依存情報の生成中はシステム ヘッダー ファイルを無視します
-mo 依存情報の出力ファイルを指定します
-n オブジェクト ファイルの出力ディレクトリを設定します
-o 出力ファイル名を設定します (-o<ファイル名> または -o <ファイル名>)
-pxxx Pascal の呼び出し規約を使用
-q コンパイラ識別バナーを抑止します
-r レジスタ変数を使用
-rd register キーワードが使用された場合にのみレジスタ変数を使用
-s システムの非インクリメンタル リンクを使ってリンクします
-t ターゲットの実行可能ファイルを指定する
* -u アンダースコアを付けてシンボル名を生成する
-vxxx ソース デバッグを有効にします
-w すべての警告を表示します
-w! 警告時にコンパイラから非 0 を返す
-xxxx 例外処理を有効にする
-y デバッグ行番号:
-z 標準セグメント名の再定義のオプション
特定のオプションに関するヘルプを参照するには '-h <オプション>' を使用します。
使用可能なオプションをすべて参照するには '-h -' を使用します。
Re: c言語わくわくゲームプログラミング教室の3-01で…
> 環境はBorland C++ コンパイラ 5.5
[ 調べてみたところ Borland C++ コンパイラ 5.5 は現在新規インストールはできない ]
ことがわかりました(^^;
ここhttp://dxlib.o.oo7.jp/dxuse.htmlには
”こちらは有料ソフト、又は無償提供が終了しているソフトのため既にソフトを所持していないと利用できません”
とあります。
[ Borland C++ コンパイラ 5.5 は C++Builder にうけつがれている ]
http://dxlib.o.oo7.jp/dxdload.htmlに
”尚、DXライブラリのコンパイルには Borland C++ Compiler 版のみ C++ BuilderX 付属のコンパイラ以降のバージョンでないと正常にコンパイルすることが出来ませんのでご注意ください。”
とあるように 現在では C++ Builder を使えばよい。コマンドラインの使い方はBorland C++ コンパイラ 5.5と同様である。
C++Builder 10.1 Berlin Starter Edition でDXライブラでは説明してあるが私は C++ Builder 10.2 Tokyo をインストールしてDXライブラがOKでした。
[ 調べてみたところ Borland C++ コンパイラ 5.5 は現在新規インストールはできない ]
ことがわかりました(^^;
ここhttp://dxlib.o.oo7.jp/dxuse.htmlには
”こちらは有料ソフト、又は無償提供が終了しているソフトのため既にソフトを所持していないと利用できません”
とあります。
[ Borland C++ コンパイラ 5.5 は C++Builder にうけつがれている ]
http://dxlib.o.oo7.jp/dxdload.htmlに
”尚、DXライブラリのコンパイルには Borland C++ Compiler 版のみ C++ BuilderX 付属のコンパイラ以降のバージョンでないと正常にコンパイルすることが出来ませんのでご注意ください。”
とあるように 現在では C++ Builder を使えばよい。コマンドラインの使い方はBorland C++ コンパイラ 5.5と同様である。
C++Builder 10.1 Berlin Starter Edition でDXライブラでは説明してあるが私は C++ Builder 10.2 Tokyo をインストールしてDXライブラがOKでした。
Re: c言語わくわくゲームプログラミング教室の3-01で…
[ Borland C++ Compiler (BCC) 5.5 wiki で検索するとC++ Builder(C++ビルダー)に転送される ]
そこには
”C++ Builder(C++ビルダー)は、エンバカデロ・テクノロジーズのC/C++統合開発環境 (IDE) である。同社の代表製品である「Delphi」のC/C++版とも言えるRADツールで、Delphiと同様に構成部品を貼り付けていくようなユーザインタフェース (UI) 設計を可能としている。元々はボーランド(インプライズ)で開発され、コードギアへ移管、同社の買収に伴って現在へ至る。ボーランド社の時代は、Borland C++ Builder(ボーランド C++ビルダー; BCB)とも呼ばれていた。”
とあり C++ Builder 10.2 Tokyo の無料版があるので それを使えば Borland C++ Compiler 5.5 と同等のことができる。
C++ Builder 10.2 には bcc32c.exe も bcc32.exe もある。
[ bcc32c.exe が使える Free C++ Compiler が公開されされている ]
2016年に Free C++ Compiler が公開された。Clang ベースで、C++11 に対応している
C++Compiler - 無料版 として公開されていて 軽量なので 大学等教育機関に通称Borland C++ Compiler 5.5 として使われているようです。
ここhttp://cm.hit-u.ac.jp/~kobayashi/topics/compiler.htmlには
Embarcadero C++ コンパイラの使い方 として紹介されてます。
そこには
”C++ Builder(C++ビルダー)は、エンバカデロ・テクノロジーズのC/C++統合開発環境 (IDE) である。同社の代表製品である「Delphi」のC/C++版とも言えるRADツールで、Delphiと同様に構成部品を貼り付けていくようなユーザインタフェース (UI) 設計を可能としている。元々はボーランド(インプライズ)で開発され、コードギアへ移管、同社の買収に伴って現在へ至る。ボーランド社の時代は、Borland C++ Builder(ボーランド C++ビルダー; BCB)とも呼ばれていた。”
とあり C++ Builder 10.2 Tokyo の無料版があるので それを使えば Borland C++ Compiler 5.5 と同等のことができる。
C++ Builder 10.2 には bcc32c.exe も bcc32.exe もある。
[ bcc32c.exe が使える Free C++ Compiler が公開されされている ]
2016年に Free C++ Compiler が公開された。Clang ベースで、C++11 に対応している
C++Compiler - 無料版 として公開されていて 軽量なので 大学等教育機関に通称Borland C++ Compiler 5.5 として使われているようです。
ここhttp://cm.hit-u.ac.jp/~kobayashi/topics/compiler.htmlには
Embarcadero C++ コンパイラの使い方 として紹介されてます。
Re: c言語わくわくゲームプログラミング教室の3-01で…
Embarcadero C++ コンパイラ - FREE TOOL(旧BorlandC++ Compiler 5.5) bcc32c.exe を試してみました。
ーーーーーーーーーーーーーーーーーーーーーーーーー
http://cm.hit-u.ac.jp/~kobayashi/topics/compiler.html を参考に
”Embarcadero C++ コンパイラは、簡単にインストール出来てプログラミングも出来るのが良いところですが、コンソールプログラムしか作れません” とあります。
まずDXライブラリで途中まで設定しているBCC Developer の BccDev.exe を使ってみます。
http://dxlib.o.oo7.jp/use/dxuse_bcc.html#R1
「設定」
C:\borland\bcc55\bin\bcc32c.exeを設定します。
プログラムを実行
なお bcc32c.cfg の内容は デフォルトのままで以下の通りです。
ーーーーーーーーーーーーーーーーーーーーーーーーー
http://cm.hit-u.ac.jp/~kobayashi/topics/compiler.html を参考に
”Embarcadero C++ コンパイラは、簡単にインストール出来てプログラミングも出来るのが良いところですが、コンソールプログラムしか作れません” とあります。
まずDXライブラリで途中まで設定しているBCC Developer の BccDev.exe を使ってみます。
http://dxlib.o.oo7.jp/use/dxuse_bcc.html#R1
「設定」
C:\borland\bcc55\bin\bcc32c.exeを設定します。
プログラムを実行
#include <stdio.h>
int main(void)
{
printf("abcdefghijklmnopqrstuvwxyz:1234567890\n");
return 0;
}
なお bcc32c.cfg の内容は デフォルトのままで以下の通りです。
Re: c言語わくわくゲームプログラミング教室の3-01で…
http://cm.hit-u.ac.jp/~kobayashi/topics/compiler.html
にあるように” Linux をインストールすると GCC というコンパイラがついてきます”
Windows10 ではネーティブにLinux( Ubuntu(ウブントゥ))が動くのでBash で gcc が動きます。
http://www2.koyoen.birdview.co.jp/~abcxyz/ぬ.jpg
にあるように” Linux をインストールすると GCC というコンパイラがついてきます”
Windows10 ではネーティブにLinux( Ubuntu(ウブントゥ))が動くのでBash で gcc が動きます。
http://www2.koyoen.birdview.co.jp/~abcxyz/ぬ.jpg
- Dixq (管理人)
- 管理人
- 記事: 1661
- 登録日時: 13年前
- 住所: 北海道札幌市
- 連絡を取る:
Re: c言語わくわくゲームプログラミング教室の3-01で…
Mathさん
Wikiperiaからの無断転載が多数見受けられます。
https://ja.wikipedia.org/wiki/C%2B%2B_Builder
「引用」は「著作権法の引用の要件を満たさない違法な無断転載」であってはなりません。
また、この掲示板はインタラクティブな場を提供するものであって、個人の日記のような利用の仕方はしていただきたくありません。
(現状質問者はもうおらず、1か月前から独り言のようになっています)
日記を書きたい場合は、本サイトに登録いただければ日記を書く機能がありますので、
よろしければそちらをご利用ください。
Wikiperiaからの無断転載が多数見受けられます。
https://ja.wikipedia.org/wiki/C%2B%2B_Builder
「引用」は「著作権法の引用の要件を満たさない違法な無断転載」であってはなりません。
また、この掲示板はインタラクティブな場を提供するものであって、個人の日記のような利用の仕方はしていただきたくありません。
(現状質問者はもうおらず、1か月前から独り言のようになっています)
日記を書きたい場合は、本サイトに登録いただければ日記を書く機能がありますので、
よろしければそちらをご利用ください。