DxLib、Aeroテーマとの互換性がない

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
emanon

DxLib、Aeroテーマとの互換性がない

#1

投稿記事 by emanon » 13年前

DxLibを使いゲームを使いたいのですが、ウィンドウの端に青の四角形を表示するプログラムを実行しても黒い画面しか表示されません。

よく見ると、「画面の配色は変更されました」という注意が下のほうに出ており、その詳細には
"実行中のプログラムが、Aero テーマと互換性がない。 この状態が発生した場合は、一部の視覚要素が自動的にオフになります。 そのプログラムの実行を終了すると、オフになっていた視覚要素は自動的に再度オンになります。"
というように説明がなされていました。

どのような設定をすれば意図通りウィンドウに表示させることができるのでしょうか。
環境は、
OS:Win7
Compiler:Borland C++ 5.5
です。

DxLibの使用は初めてで、C言語についてもそれほど深い理解はしていません。

回答よろしくおねがいします。

以下コード。

コード:

#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;

}

emanon

Re: DxLib、Aeroテーマとの互換性がない

#2

投稿記事 by emanon » 13年前

×ゲームを使いたい
○ゲームを作りたい
です。

アバター
h2so5
副管理人
記事: 2212
登録日時: 15年前
住所: 東京
連絡を取る:

Re: DxLib、Aeroテーマとの互換性がない

#3

投稿記事 by h2so5 » 13年前

そのメッセージは黒い画面しか表示されないことと関係ないと思います。
ところで、DrawBoxの引数にある65535は何の数値ですか?

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: DxLib、Aeroテーマとの互換性がない

#4

投稿記事 by softya(ソフト屋) » 13年前

マルチポストされていませんか?
「gun**ave*777さんの質問一覧 - Yahoo!知恵袋」
http://my.chiebukuro.yahoo.co.jp/my/mys ... n_raver777
ここのフォーラムルールなのですが、マルチポスト時は相互リンクをお願いしております。 http://dixq.net/board/board.html
相互リンク:お互いにリンクを張り別の掲示板で質問していることを明確にすること。回答者のための措置です。
よろしくお願いします。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

emanon

Re: DxLib、Aeroテーマとの互換性がない

#5

投稿記事 by emanon » 13年前

返信ありがとうございます。
>softya(ソフト屋) 様
この掲示板内でのマルチポストのみリンクが必要なのだと勘違いしていました。フォーラムルールに反してしまい申し訳ありません。
http://detail.chiebukuro.yahoo.co.jp/qa ... 1491733529
でも同様の質問をしています。

> h2so5 様
それは青色を表す値です。"14歳からはじめるC言語わくわくゲームプログラミング教室Visual Studio 2008編―Windows XP/Vista対応" に掲載されているサンプルコードを参考にしています。

アバター
h2so5
副管理人
記事: 2212
登録日時: 15年前
住所: 東京
連絡を取る:

Re: DxLib、Aeroテーマとの互換性がない

#6

投稿記事 by h2so5 » 13年前

「14歳からはじめるC言語わくわくゲームプログラミング教室」のコードがどうなっているのかは知りませんが、
先ほど試したところGetColor(0,0,255)の戻り値は 4278190335 でした。

Draw系関数に指定する色コードは環境によって変わるので、決め打ちせずにGetColorを使用してください。

emanon

Re: DxLib、Aeroテーマとの互換性がない

#7

投稿記事 by emanon » 13年前

返信ありがとうございます。
>h2so5 様
GetColor(0,0,255)で決め打ちしても同様の結果でした。あと、先ほどの値は正確には水色でした。すみません。

画像

emanon

Re: DxLib、Aeroテーマとの互換性がない

#8

投稿記事 by emanon » 13年前

ちなみにウィンドウを閉じると下の画像のように、青の四角形が写ります。
この青はPrntScrしても写り込まないので、デジカメで撮影しました。
画像

emanon

Re: DxLib、Aeroテーマとの互換性がない

#9

投稿記事 by emanon » 13年前

×GetColor(0,0,255)で決め打ちしても
○GetColor(0,0,255)を使用しても

何度も細かい間違い、すみません。

雨ガエル

Re: DxLib、Aeroテーマとの互換性がない

#10

投稿記事 by 雨ガエル » 13年前

僕の環境で試したら、ちゃんと青い四角が描画できましたよ。
プロジェクトの設定からやり直してみたらどうですか?

プロジェクト設定済みのサンプルを作りました。
ビルドすればちゃんと動くと思います。
http://www1.axfc.net/uploader/Li/so/134017

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: DxLib、Aeroテーマとの互換性がない

#11

投稿記事 by softya(ソフト屋) » 13年前

申し訳ないのですが知恵袋側からリンクされていないので相互リンクとはいえません。
補足を使っての相互リンクをお願いします。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

naohiro19
記事: 256
登録日時: 15年前
住所: 愛知県

Re: DxLib、Aeroテーマとの互換性がない

#12

投稿記事 by naohiro19 » 13年前

DrawBoxは右下の座標が-1なので正しくは

コード:

DrawBox(0,0, 119, 119, GetColor(0, 0, 255), TRUE);
です。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: DxLib、Aeroテーマとの互換性がない

#13

投稿記事 by softya(ソフト屋) » 13年前

naohiro19 さんが書きました:DrawBoxは右下の座標が-1なので正しくは

コード:

DrawBox(0,0, 119, 119, GetColor(0, 0, 255), TRUE);
です。
120x120pixelのBOXを描くなら下記で合っています。
DrawBox(0,0, 120, 120, GetColor(0, 0, 255), TRUE);
参考↓ リファレンス
http://homepage2.nifty.com/natupaji/DxL ... .html#R2N2

DrawBox(0,0, 119, 119, GetColor(0, 0, 255), TRUE);
ですと119x119pixelのBOXが描画されますよ。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

emanon

Re: DxLib、Aeroテーマとの互換性がない

#14

投稿記事 by emanon » 13年前

返信ありがとうございます。
>h2so5 様
何度もすみません。遅ればせながら知恵袋の方からもリンクいたしました。

>雨がえる 様
プロジェクトの設定はすべて、"14歳からの..."に準拠しています。コンパイルエラーなどは出ていない上にウィンドウを閉じた後に青が表示されているのでプロジェクト設定ミスではないと思うのですが...。サンプルはあとで実行してみます。手際が悪い上時間がないので。あと"僕の環境"とはどういった環境なのでしょうか?

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: DxLib、Aeroテーマとの互換性がない

#15

投稿記事 by softya(ソフト屋) » 13年前

カラーコードはGPUやグラフィックドライバに依存しますので、65535の値では思ったようにカラー表示できないかも知れません。
こういうのを環境依存といいます。 【補正】その他にも特定のPC環境でしか動かないものも環境依存です。
つまり、水色が特定のPCでは65535でも違うPCでは値が全く別かもしれないのです。
そのために、GetColor()関数があります。DXライブラリが起動時にGPUを調べて最適なカラーコードの求め方を決定していますので常にコレを使ってください。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

閉鎖

“C言語何でも質問掲示板” へ戻る