ページ 11

MusicRoomの作り方 その2

Posted: 2013年5月02日(木) 23:06
by Rittai_3D
前回のトピックに返信してくださった方々、本当にありがとうございます。

今回は、前回の続きです。

詳しくは、前回のトピックを参照してください。

→ ttp://dixq.net/forum/viewtopic.php?f=3&t=12938

コード:

#include "DxLib.h"
#include <stdio.h>
#include <stdlib.h>

#define MUSIC_NUM 6

static int Key[256]; // キーが押されているフレーム数を格納する

// キーの入力状態を更新する
int gpUpdateKey(){
	char tmpKey[256]; // 現在のキーの入力状態を格納する
	GetHitKeyStateAll( tmpKey );//全てのキーの入力状態を得る
	for( int i=0; i<256; i++ ){
		if( tmpKey[i] != 0 )//i番のキーコードに対応するキーが押されていたら
			Key[i]++;		//加算
		else				//押されていなければ
			Key[i] = 0;		//0にする
	}
	return 0;
}

typedef struct{
	int x,y;	//座標
	int color;	//文字の色
	char music_name[128];//ぶんかちょうは6曲しかない
	char cmt_buf[6][256];//コメント
}music_t;

int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int){
	ChangeWindowMode(TRUE),SetAlwaysRunFlag(TRUE),DxLib_Init(),SetDrawScreen(DX_SCREEN_BACK);

	int Font01 = CreateFontToHandle("平成ゴシック",16,16,DX_FONTTYPE_ANTIALIASING_EDGE_8X8,-1,1,0,-1);//フォンント
	int Font02 = CreateFontToHandle("平成ゴシック",14,10,DX_FONTTYPE_ANTIALIASING_EDGE_8X8,-1,1,0,-1);//フォンント

	int img_back01 = LoadGraph("title03a.png");		//背景その1
	int img_back02 = LoadGraph("title03b.png");		//背景その2

	int WHITE = GetColor(130,105,105);		//色
	int YELLOW= GetColor(240,210,210);		//GetColorの引数が白、黄色じゃないのは無視してください

	music_t music[MUSIC_NUM] = { // 構造体にこの順番で入れていく
		{ 60, 130, YELLOW, "No.1 天狗の手帖 ~ Mysterious Note",
			{
				"タイトル、メニュー画面のテーマです。",
				"いつもの曲です。",
				"今回は少し暗くレトロな感じが出るようにして、妖怪らしさが出る",
				"ようにしました。",
				"ザーというノイズは妖怪のミステリアスな部分です。決してモニタ",
				"とスピーカーが逝かれたわけでは無いのでご安心を。",
			}
		},
		{ 65, 150, WHITE , "No.2 風の循環 ~ Wind Tour",
			{
				"撮影曲1です。",
				"今回のゲームは、通常のボス戦のような曲ではなく、もっと日常感",
				"を出したかった為、こんな感じに",
				"随分と落ち着いた感じですが、実際文は余裕です。自分から被写体",
				"をおちょくりに出かけている様なもんですし。",
				"",
			}
		},
		{ 65, 170, WHITE , "No.3 天狗が見ている ~ Black Eyes",
			{
				"撮影曲2です。",
				"怖いような可愛らしいような奇妙なノリを持たせました。",
				"人を攫ったり喰ったりが当たり前の妖怪なのに、どこか陽気で人当",
				"たりも良さそうな所が、幻想の天狗のイメージ。",
				"この曲には、その怖さと陽気さ、暢気さを混ぜた感じになっている",
				"かと思います。",
			}
		},
		{ 65, 190, WHITE , "No.4 東の国の眠らない夜",
			{
				"撮影曲3です。中盤以降に使う曲として用意しました。",
				"",
				"ボスも文も楽しんでいる感じを出しつつ、ボスに威圧感を持たせる",
				"のは難しい物です。",
				"この曲はそれを意識して、軽快で明るいながらもボスが強そうに",
				"見える様に格好つけて書きました。特にピアノ。",

			}
		},
		{ 65, 210, WHITE , "No.5 レトロスペクティブ京都",
			{
				"撮影曲4のテーマです。後半に使う曲として用意しました。",
				"",
				"レトロな日本をイメージしたところ、私の中ではこんな感じに。",
				"雪の降る京の都。人気の少ない夜の道。",
				"でも、この曲のレトロさは私のレトロさでして……。",
				"この曲を聴いていると何となく昔を思い出してしまう。",
			}
		},
		{ 65, 230, WHITE , "No.6 風神少女",
			{
				"撮影曲5のテーマです。",
				"この曲は文花帖のテーマ曲なので入れないわけにはいかないと思い",
				"入っております。",
				"本編では殆ど使われておりませんが:-)",
				"",
				"",
			}
		},
	};

	int SelectNum      = 0;		//現在選択中
	int SelectFlag     = 0;		//現在表示している曲のコメントのフラグ
	int SelectMusicCmt = 0;		//現在表示している曲のコメント
	int SelectedMusicNo= 0;		//コメントを表示する曲の番号を保持

	while(!ProcessMessage() && !ClearDrawScreen() && !gpUpdateKey() && !CheckHitKey(KEY_INPUT_ESCAPE)){

		if( Key[ KEY_INPUT_DOWN ] == 1 || (Key[KEY_INPUT_DOWN]%5==0 && Key[KEY_INPUT_DOWN]>30)){// キーが押された処理
			SelectNum = ( SelectNum + 1 ) % MUSIC_NUM;	// 現在の選択項目を一つ下にずらす(ループする)
		}

		if( Key[ KEY_INPUT_UP ] == 1 || (Key[KEY_INPUT_UP]%5==0 && Key[KEY_INPUT_UP]>30)){
			SelectNum = (SelectNum + (MUSIC_NUM-1) ) % MUSIC_NUM;	//上にずらす
		}

		if(Key[ KEY_INPUT_UP ] == 1 || Key[ KEY_INPUT_DOWN ] == 1 ||(Key[KEY_INPUT_DOWN]%5==0 && Key[KEY_INPUT_DOWN]>30) ||(Key[KEY_INPUT_UP]%5==0 && Key[KEY_INPUT_UP]>30)){
			for(int i=0 ; i<MUSIC_NUM ; i++ ){	// 項目数である6個ループ処理
				if( i == SelectNum ){			// 今処理しているのが、選択番号と同じ要素なら
					music[i].color = YELLOW;	// 色を帰る
					music[i].x     = 60;		// 座標を買える
				} else {						// 今処理しているのが、選択番号以外なら
					music[i].color = WHITE;		// 色を変える
					music[i].x     = 65;		// 座標を替え
				}
			}
		}

	if(Key[KEY_INPUT_Z] == 1 || Key[KEY_INPUT_RETURN] == 1){
			for(int i=0; i<MUSIC_NUM ; i++ ){
				if(i == SelectNum){
					SelectedMusicNo = i;
				}
			}
		}

		// 描画フェーズ
		DrawGraph(  0,0,img_back01,TRUE);	// 画像を描写
		DrawGraph(512,0,img_back02,TRUE);	// 同上

		for(int i=0; i<6; i++ ){ // 項目を描画
			DrawStringToHandle(music[i].x,music[i].y,music[i].music_name,music[i].color,Font01);
		}

		for(int j=0;j<6;j++){// コメントの行数
			DrawFormatStringToHandle(80,350+18*j,YELLOW,Font02,"%s",music[SelectedMusicNo].cmt_buf[j]);
		}

		ScreenFlip();
	}
	DxLib_End();
	return 0;
}
コメントの部分を外部のテキストファイルから読み込んで、表示するプログラムを書きたいのですが、うまく作れません。

ファイルは、

コード:

# 曲のコメント
# この記号でコメント
# 
 
 コメント1
 コメント
 コメント
 コメント
 コメント
 コメント
 
 コメント2
 コメント
 コメント
 コメント

 コメント3
 コメント
 コメント
 コメント
 コメント
 コメント

 コメント4
 コメント
 コメント
 コメント
 コメント
 コメント

 コメント5
 コメント
 コメント
 コメント
 コメント
 コメント

 コメント6
 コメント
 コメント
 コメント
 コメント
 コメント

 コメント7
 コメント
 コメント
 コメント
 コメント
 コメント

としております。

コメントは6行固定です。

コードが汚いのはご容赦下さい。

Re: MusicRoomの作り方 その2

Posted: 2013年5月03日(金) 09:24
by softya(ソフト屋)
2chみたいにhは省略しないでくださいね。
http://dixq.net/forum/viewtopic.php?f=3&t=12938

それと、こっちのトピックは質問項目が明確ではないので、再度質問内容を書いてください。
※ コードも最新をお願いします。

Re: MusicRoomの作り方 その2

Posted: 2013年5月03日(金) 10:54
by Rittai_3D
>>softya様

返信ありがとうございます。

>2chみたいにhは省略しないでくださいね。

すいません。直リンはまずいかな、と思いまして…

>それと、こっちのトピックは質問項目が明確ではないので、再度質問内容を書いてください。

すいません。もう一度書きます。

今回は、MusicRoom(言葉の通り音楽を再生するところ)をつくっています。
新・C言語 ~ゲームプログラミングの館~ [DXライブラリ]の"選択画面を作ってみよう"を利用して自分なりに書いてみました。そこで質問があります。

ソースに書いたコメントの表示は前回のトピックで解決しました。しかし、自分はテキストファイルからコメントを読み取り、表示するようにしたいです。しかし、どのようにプログラムを書いていいのがわからずに困っています。コメントは上のように一曲は6行のコメントがあり、曲数は6となっています

>※ コードも最新をお願いします。

間違えて解決時のコードを載せてしまいました。大変申し訳ありません。

Re: MusicRoomの作り方 その2

Posted: 2013年5月03日(金) 11:01
by softya(ソフト屋)
> すいません。直リンはまずいかな、と思いまして…
直リンがなぜ嫌がられるかを考えた上で避けるのなら良いですが、良く分からず避けるのは単なる思考停止ですよ。
同じ掲示板同士の直リンを避ける理由ってなんでしょう?

>しかし、どのようにプログラムを書いていいのがわからずに困っています。
その質問だと半分丸投げ状態ですので、分からないなりに読み込み処理を書くべきだと思います。

とりあえずヒントとしては、構造体はそのままで初期値のコメントの文字列は削除して、ファイルからコメントの文字列を読み込んで構造体にコピー(strcpy)するように変更すれば完成します。

Re: MusicRoomの作り方 その2

Posted: 2013年5月03日(金) 11:20
by Rittai_3D
>>softya様

返信ありがとうございます。

>直リンがなぜ嫌がられるかを考えた上で避けるのなら良いですが、良く分からず避けるのは単なる思考停止ですよ。
>同じ掲示板同士の直リンを避ける理由ってなんでしょう?

プライベートでも直リンはしていないので、ついその癖でhを消してしまいました。
すいません

>>しかし、どのようにプログラムを書いていいのがわからずに困っています。
>その質問だと半分丸投げ状態ですので、分からないなりに読み込み処理を書くべきだと思います。

すいません、急いでいたのでコードを張っていませんでした。

コード:

#include "DxLib.h"
#include <stdio.h>
#include <stdlib.h>

#define MUSIC_NUM 6

static int Key[256]; // キーが押されているフレーム数を格納する

// キーの入力状態を更新する
int gpUpdateKey(){
	char tmpKey[256]; // 現在のキーの入力状態を格納する
	GetHitKeyStateAll( tmpKey );//全てのキーの入力状態を得る
	for( int i=0; i<256; i++ ){
		if( tmpKey[i] != 0 )//i番のキーコードに対応するキーが押されていたら
			Key[i]++;		//加算
		else				//押されていなければ
			Key[i] = 0;		//0にする
	}
	return 0;
}

typedef struct{
	int x,y;	//座標
	int color;	//文字の色
	char music_name_s[128];	//ぶんかちょうは6曲しかない(Select Mode)
	char music_name_p[128];	//曲名を表示する(Play)
	char music_path[256];	//曲のパス
	char cmt_buf[6][256];	//コメント
}music_t;

int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int){
	ChangeWindowMode(TRUE),SetAlwaysRunFlag(TRUE),DxLib_Init(),SetDrawScreen(DX_SCREEN_BACK);

	music_t music[MUSIC_NUM];

	char Comment_buf[MUSIC_NUM][256];

	int Font01 = CreateFontToHandle("MSPゴシック",16,16,DX_FONTTYPE_ANTIALIASING_EDGE_8X8,-1,1,0,-1);//フォンント
	int Font02 = CreateFontToHandle("MSPゴシック",14,10,DX_FONTTYPE_ANTIALIASING_EDGE_8X8,-1,1,0,-1);//フォンント

	int img_back01 = LoadGraph("dat/title03a.png");		//背景その1
	int img_back02 = LoadGraph("dat/title03b.png");		//背景その2

	int se_select = LoadSoundMem("dat/se_select00.wav");

	int WHITE = GetColor(130,105,105);		//色
	int YELLOW= GetColor(240,210,210);		//GetColorの引数が白、黄色じゃないのは無視してください

	int fp = FileRead_open("music.txt");

	if(fp == NULL){
		MessageBox(NULL,TEXT("ファイルがないよー"),TEXT("エラー"), MB_OK | MB_ICONERROR );
		return -1;
	}

	for(int i=0 ; i<4; i++ )// 最初の4行はコメントなので飛ばす
		while(FileRead_getc(fp)!= '\n');
/*
ここでファイルから読みとった文字をComment_bufに代入する作業を入れたい...

でも、やり方が分からない...

コメントは前にも書いたとおり、一曲6行*6曲となっています。
*/
             for(int i=0 ; i<MUSIC_NUM ; i++ ){
                    Comment_buf[i];
             }
	FileRead_close(fp);

	music[MUSIC_NUM] = {//座標、座標、文字の色、曲名、曲名2、音楽ファイルのパス、コメント
		{ 60, 130, YELLOW, "No.1 天狗の手帖 ~ Mysterious Note" , "♪天狗の手帖 ~ Mysterious Note" , "dat/文花帖/th095_01.wav" , Comment_buf[0],},
		{ 65, 150, WHITE , "No.2 風の循環 ~ Wind Tour"         , "♪風の循環 ~ Wind Tour"         , "dat/文花帖/th095_02.wav" , Comment_buf[1],},
		{ 65, 170, WHITE , "No.3 天狗が見ている ~ Black Eyes"  , "♪天狗が見ている ~ Black Eyes"  , "dat/文花帖/th095_03.wav" , Comment_buf[2],},
		{ 65, 190, WHITE , "No.4 東の国の眠らない夜"             , "♪東の国の眠らない夜"             , "dat/文花帖/th095_04.wav" , Comment_buf[3],},
		{ 65, 210, WHITE , "No.5 レトロスペクティブ京都"         , "♪レトロスペクティブ京都"         , "dat/文花帖/th095_05.wav" , Comment_buf[4],},
		{ 65, 230, WHITE , "No.6 風神少女"                       , "♪風神少女"                       , "dat/文花帖/th095_06.wav" , Comment_buf[5],},
	};

	int SelectNum      = 0;		//現在選択中
	int SelectMusicCmt = 0;		//現在表示している曲のコメント
	int SelectedMusicNo= 0;		//コメントを表示する曲の番号を保持
	int BGM[MUSIC_NUM];

	for(int i=0;i<MUSIC_NUM;i++){
		BGM[i] = LoadSoundMem(music[i].music_path);
	}

	PlaySoundMem(BGM[0],DX_PLAYTYPE_BACK);
	while(!ProcessMessage() && !ClearDrawScreen() && !gpUpdateKey() && !CheckHitKey(KEY_INPUT_ESCAPE)){

		if( Key[ KEY_INPUT_DOWN ] == 1 || (Key[KEY_INPUT_DOWN]%5==0 && Key[KEY_INPUT_DOWN]>30)){// キーが押された処理
			SelectNum = ( SelectNum + 1 ) % MUSIC_NUM;	// 現在の選択項目を一つ下にずらす(ループする)
		}

		if( Key[ KEY_INPUT_UP ] == 1 || (Key[KEY_INPUT_UP]%5==0 && Key[KEY_INPUT_UP]>30)){
			SelectNum = (SelectNum + (MUSIC_NUM-1) ) % MUSIC_NUM;	//上にずらす
		}

		if(Key[ KEY_INPUT_UP ] == 1 || Key[ KEY_INPUT_DOWN ] == 1 ||(Key[KEY_INPUT_DOWN]%5==0 && Key[KEY_INPUT_DOWN]>30) ||(Key[KEY_INPUT_UP]%5==0 && Key[KEY_INPUT_UP]>30)){
			PlaySoundMem(se_select,DX_PLAYTYPE_BACK);
			for(int i=0 ; i<MUSIC_NUM ; i++ ){	// 項目数である6個ループ処理
				if( i == SelectNum ){			// 今処理しているのが、選択番号と同じ要素なら
					music[i].color = YELLOW;	// 色を帰る
					music[i].x     = 60;		// 座標を買える
				} else {						// 今処理しているのが、選択番号以外なら
					music[i].color = WHITE;		// 色を変える
					music[i].x     = 65;		// 座標を替え
				}
			}
		}

		if(Key[KEY_INPUT_Z] == 1 || Key[KEY_INPUT_RETURN] == 1){
			SelectedMusicNo = SelectNum;
			for(int i=0 ; i<MUSIC_NUM ; i++ ){
				if(CheckSoundMem(BGM[i])==1){
					StopSoundMem(BGM[i]);
				} else {
					PlaySoundMem(BGM[SelectNum],DX_PLAYTYPE_BACK);
				}
			}
		}

		// 描画フェーズ
		DrawGraph(  0,0,img_back01,TRUE);	// 画像を描写
		DrawGraph(512,0,img_back02,TRUE);	// 同上

		for(int i=0 ; i<MUSIC_NUM; i++ ){ // 項目を描画
			DrawStringToHandle(music[i].x,music[i].y,music[i].music_name_s,music[i].color,Font01);
		}

		for(int i=0 ; i<MUSIC_NUM ; i++ ){// 曲名を表示
			DrawFormatStringToHandle(60,320,YELLOW,Font02,music[SelectedMusicNo].music_name_p);
		}

		for(int j=0 ; j<MUSIC_NUM ; j++ ){// コメントの行数
			DrawFormatStringToHandle(80,350+18*j,YELLOW,Font02,"%s",music[SelectedMusicNo].cmt_buf[j]);
		}

		ScreenFlip();
	}
	DxLib_End();
	return 0;
}

コード:

#
# 曲のコメント
#
#0123456789012345678901234567890

No.1 天狗の手帖 ~ Mysterious Note
♪天狗の手帖 ~ Mysterious Note
 
 タイトル、メニュー画面のテーマです。
 いつもの曲です。
 今回は少し暗くレトロな感じが出るようにして、妖怪らしさが出る
 ようにしました。
 ザーというノイズは妖怪のミステリアスな部分です。決してモニタ
 とスピーカーが逝かれたわけでは無いのでご安心を。

No.2 風の循環 ~ Wind Tour
♪風の循環 ~ Wind Tour
 
 撮影曲1です。
 今回のゲームは、通常のボス戦のような曲ではなく、もっと日常感
 を出したかった為、こんな感じに。
 随分と落ち着いた感じですが、実際文は余裕です。自分から被写体
 をおちょくりに出かけている様なもんですし。
 

No.3 天狗が見ている ~ Black Eyes
♪天狗が見ている ~ Black Eyes
 
 撮影曲2です。
 怖いような可愛らしいような奇妙なノリを持たせました。
 人を攫ったり喰ったりが当たり前の妖怪なのに、どこか陽気で人当
 たりも良さそうな所が、幻想の天狗のイメージ。
 この曲には、その怖さと陽気さ、暢気さを混ぜた感じになっている
 かと思います。

No.4 東の国の眠らない夜
♪東の国の眠らない夜
 
 撮影曲3です。中盤以降に使う曲として用意しました。
 
 ボスも文も楽しんでいる感じを出しつつ、ボスに威圧感を持たせる
 のは難しい物です。
 この曲はそれを意識して、軽快で明るいながらもボスが強そうに
 見える様に格好つけて書きました。特にピアノ。

No.5 レトロスペクティブ京都
♪レトロスペクティブ京都
 
 撮影曲4のテーマです。後半に使う曲として用意しました。
 
 レトロな日本をイメージしたところ、私の中ではこんな感じに。
 雪の降る京の都。人気の少ない夜の道。
 でも、この曲のレトロさは私のレトロさでして……。
 この曲を聴いていると何となく昔を思い出してしまう。

No.6 風神少女
♪風神少女
 
 撮影曲5のテーマです。
 
 この曲は文花帖のテーマ曲なので入れないわけにはいかないと思い
 入っております。
 本編では殆ど使われておりませんが:-)
 


>とりあえずヒントとしては、構造体はそのままで初期値のコメントの文字列は削除して、ファイルからコメントの文字列を読み込んで構造体>にコピー(strcpy)するように変更すれば完成します。

ヒントありがとうございます。strcpyは使った事が無いので調べながらプログラムを書いていきます。

環境:
OS Windows XP
コンパイラ VC++2008 EE

Re: MusicRoomの作り方 その2

Posted: 2013年5月03日(金) 11:33
by softya(ソフト屋)
またまた、インデントが狂っています。 → 既に何度か書いたはず。

処理としてはとりあえず読み込みバッファは1行分あれば十分です。
読み込み → 判定 → 必要に応じて転送。
もっと考えてみてください。なんか出来ないという思いで思考停止している様に見えます。
そして、プログラムに書けなかったとしても日本語での詳細説明は試みてください。

それと曲のコメントのフォーマットが最初のものと変わっていますよ。
No: 1 と No: 5 では 形式がまったく違うのでフォーマットをちゃんと決めてください。

【追記】
こういう練習問題で演習していないと思いますが、良かったらやってみください。
「納得C言語 [第18回]演習問題Ⅴ - ほぷしぃ」
http://www.isl.ne.jp/pcsp/beginC/C_Language_18.html

Re: MusicRoomの作り方 その2

Posted: 2013年5月03日(金) 11:44
by Rittai_3D
>>softya様

返信ありがとうございます。

>またまた、インデントが狂っています。 → 既に何度か書いたはず。

なぜかコードが横一列に表示されているのでどこがずれているのか判りません。
画像を添付しておきます。

>処理としてはとりあえず読み込みバッファは1行分あれば十分です。
読み込み → 判定 → 必要に応じて転送。

一行有れば十分なんですか!?もっとかかるかと思ってました。

>もっと考えてみてください。なんか出来ないという思いで思考停止している様に見えます。
>そして、プログラムに書けなかったとしても日本語での詳細説明は試みてください。

判りました。前回のコメントがうまく表示出来たのと、音楽の再生の上手くいったので舞い上がってました。

もう少し考えてみます。

Re: MusicRoomの作り方 その2

Posted: 2013年5月03日(金) 11:50
by softya(ソフト屋)
> 一行有れば十分なんですか!?もっとかかるかと思ってました。

読み込み一時バッファですよ。 当たり前ですがコメントは曲数分・行数分必要です。

>なぜかコードが横一列に表示されているのでどこがずれているのか判りません。
>画像を添付しておきます。

そもそもVC++では、ずれていないのでしょうか?
あと、この表示が変なのは、どのブラウザですか?
※ 過去にWindowsUpdateしていないIE10で表示が変って聞いたことが有るような無い様な。

Re: MusicRoomの作り方 その2

Posted: 2013年5月03日(金) 12:08
by usao
少なくともこの質問内容で,長々としたコードを貼り付けてくる意味が不明というか…
(しかも 70行目~ あたりとても危険そう…)

> 一行有れば十分なんですか!?
やろうとしている処理の流れすらご自身で掴めていないのはないですか?

まずは「テキストファイルから1行読みこんで,その内容を表示する」
くらいのプログラムを自分で書いてみるとか,そういうことから初めてみたらどうでしょうか.
ご自身の現コードの処理内容をきちんと 理解/把握 されているのであれば,それだけで解決するものと思います.

Re: MusicRoomの作り方 その2

Posted: 2013年5月03日(金) 12:19
by softya(ソフト屋)
上の方に一度追記したのですが、この練習問題をやってみてください。
softya(ソフト屋) さんが書きました: 【追記】
こういう練習問題で演習していないと思いますが、良かったらやってみください。
「納得C言語 [第18回]演習問題Ⅴ - ほぷしぃ」
http://www.isl.ne.jp/pcsp/beginC/C_Language_18.html
オフトピック
>少なくともこの質問内容で,長々としたコードを貼り付けてくる意味が不明というか…
>(しかも 70行目~ あたりとても危険そう…)

自分で質問に必要なコードの部分を的確により分けできたら、それだけ超初心者脱出だと思うわけです。
それが出来ないから質問しているという事なので、質問者ご本人にはもどうしようもないのでは?

Re: MusicRoomの作り方 その2

Posted: 2013年5月03日(金) 12:21
by h2so5
東方文花帖のMusic Roomの説明文をそのまま転載する意図は何でしょう。
引用とも取れないですし、オリジナルの説明文を使ったほうがいいんじゃないでしょうか。

Re: MusicRoomの作り方 その2

Posted: 2013年5月03日(金) 16:50
by ISLe
3D_3D さんが書きました:なぜかコードが横一列に表示されているのでどこがずれているのか判りません。
IE10を使っているなら互換表示にしてください。
互換表示にすることで別の不具合もあります。
詳しくは過去ログを探してください。

Re: MusicRoomの作り方 その2

Posted: 2013年5月03日(金) 18:26
by Rittai_3D
皆様、返信ありがとうございます。

もう少し、基礎を勉強してからプログラムを書きたいと思います。

ありがとうございました。