先日、これ以上いじくらないほうがいいと言っていたな。あれはウソだ。
今日は定番中の定番、会話の中の条件分岐の一部を実装しました。
一部、というのは、ただ単に会話の流れを切り替えるようにするだけです。
明日に指定変数を入れ替える~みたいなこともする予定。
まー、これだけの簡単そうなプログラムでも、バグに悩まされました。
結果1時間半もかかってしまいましたしね。もっと短縮できるよう頑張ります。
==========================================================================
【2015/01/08】
テストも終わり、正月休みも終わり。そろそろプログラムも再開しますかね。
今までの進捗報告。
・暇な時間にちょくちょくやってて、簡単なカスタム画面を実装しました。
・体力減少アニメーションを廃止しました。ある問題が発生したので。
これから再度組み立てなおさないといけませんね…
・会話プログラム構文に、ファイル間ジャンプを実装しました。
2つ以上の分岐から、元の会話ファイルに合流するときに便利です。
・会話のログ速度を4段階に変更しました。
先輩からの指摘で、「流れずにある程度一気に表示されるのが欲しい」と、
そんなことを言われてしまったので。
例によって面倒ではありましたが、何とか実装完了。あー面倒くさかった。
・ミックスも始めました。
前回の音楽担当のeaさんにいろいろ教わって。
とりあえず2曲作ったけど、どちらも納得いかない…。これはボツかな。
ネット上にうpして、希望があれば配布とか、しようかなぁ。
以上。
さて、今日は何をしようかなぁ。
今日は学生会からの視察が入るから、ミックスとかはやってられないだろうし…
とりあえず、キャラ移動操作だけ作っときました。
キャラ表示はてけとーにDrawBox関数で仕上げました。
==========================================================================
【2015/01/09】
今日は金曜日。あまりはかどらない金曜日。
とりあえず今回は、ジャンプ後の着地後硬化とか実装してました。
判定は約5カウント。これならまあまあ短い感じかな。調整要。
そんだけです。
==========================================================================
【2015/01/21】
最近はSTGの改良・ヴァージョンアップのせいであんまり手が付けられない…
勿論それだけじゃないんですが。レポートとか。
仕方がないので、せめて今できる計算くらいはやっておこうと思いました。
で、直交座標からクォーター座標に変換する式を算出。怠い。
最近習った線形変換をいきなり生かす時が来るとは思いもしませんでした。
あ…。階段…、段差…。うぅ…(´;ω;`)
そこのところも考えていかないとヤバい。
==========================================================================
【2015/03/14】
学校も終わり、STGの改良も終盤に。
そろそろプログラムを再開しないとヤバいことになりそう。
ってなわけで、今日は音楽室の実装を行いました。
それに伴い、音楽の再生方式を変更しました。
//音楽のロード及び音量変更、再生まで行う関数2つめ
void PlaySoundMemVolume2(int no){
char fname[100];
sprintf_s( fname,"dat/music/%s.ogg",m_data[no].name ); //ファイルネーム登録
DeleteSoundMem( music ); //それまで流していた音楽を消去
music = LoadSoundMem( fname ); //音楽データロード
ChangeVolumeSoundMem( 255*option.bgm_vol/100, music ); //音量設定
SetLoopPosSoundMem( m_data[no].loop , music ); //ループ位置を設定
PlaySoundMem( music,DX_PLAYTYPE_LOOP ); //ループ形式で再生
play_bgm[no] = 1; //再生済みフラグを立てる
}
//サウンドテスト
void sound_test(){
static int playno=-1,selectno=-1,cursor=0;
int c,col;
if(selectno==-1){ //初回呼出時
talk_func = 0;
sprintf_s( Tfile,"dat/talk/m_comment/manual.txt" );
selectno=0;
}
//計算フェーズ
if( GetKey[2]==1 ){ //下キーが押された瞬間
if( selectno0 ) selectno = ( selectno+MUSIC_MAX-1 )%MUSIC_MAX;
if( cursor>selectno ) cursor--;
}
if( GetKey[4]==1 ){ //決定キーが押された瞬間
if( play_bgm[selectno]==1 ){
playno = selectno;
PlaySoundMemVolume2(playno);
talk_func = 0;
sprintf_s( Tfile,"dat/talk/m_comment/%d.txt",playno );
}
else{
talk_func = 0;
sprintf_s( Tfile,"dat/talk/m_comment/error.txt" );
}
GetKey[4]++;
}
if( GetKey[5]==1 ){ //キャンセルキーが押された瞬間
if( playno!=0 && playno!=-1 ) PlaySoundMemVolume2(0);
menu_func = 1;
playno = -1;
selectno = -1;
cursor = 0;
}
//描写フェーズ
DrawBack();
SetDrawBlendMode( DX_BLENDMODE_ALPHA, 255*3/4 );
DrawBox( 0, 0, 720, 480, color[1], TRUE);
SetDrawBlendMode( DX_BLENDMODE_NOBLEND, 0 );
DrawFormatStringToHandle( 50, 40, color[0], font[4], "Sound Test" );
DrawFormatStringToHandle( 500, 30, color[0], font[0], "上下キー:楽曲選択" );
DrawFormatStringToHandle( 500, 50, color[0], font[0], "Zキー:楽曲再生" );
DrawFormatStringToHandle( 500, 70, color[0], font[0], "Xキー:メニュー画面へ" );
for(int i=0;i<10;i++){
c = cursor+i;
col = c==selectno ? 8:9;
if( play_bgm[c]==1 ){
if(c+1<10) DrawFormatStringToHandle( 80, 95+i*25, color[col], font[6], "0%d:%s", c+1, m_data[c].name );
else DrawFormatStringToHandle( 80, 95+i*25, color[col], font[6], "%d:%s", c+1, m_data[c].name );
}
else{
if(c+1<10) DrawFormatStringToHandle( 80, 95+i*25, color[col], font[6], "0%d:????????????", c+1 );
else DrawFormatStringToHandle( 80, 95+i*25, color[col], font[6], "%d:????????????", c+1 );
}
}
}
ビジュアルを変えたいってのがあったから、1から組み直したり。
音楽の再生コメントもきちんと実装してみたり。
コメントファイルの指定で、sprintf_s関数の引数部分を、
%dにしないといけないところを%sにしてて、バグだうわああああってなったり。
色々と充実した一日でした。
明日からきちんと更新できるかは不明ですが)ぇ
==========================================================================
【2015/03/17】
そろそろヤバさを本格的に感じ始めたため、サンプルのドット絵で組むことに。
ちょうどいい、お手頃なエックス(ロックマン)の画像を見つけたため、
それを適当に加工してサンプルとしました。
…やべぇ、これ描写関連は一から組み直さないといけないかもしれない…
過去に書いたプログラムのアルゴリズムがさっぱり。
よりによってそこだけコメントアウトされてない。
頭痛くなったので、今日は思考だけで開発します。
要するに進捗ゼロです。
==========================================================================
最近はSTGの改良や進級をかけた試験勉強、バイト等で全然プログラムが進まず、
このような状態となっております。orz
さらにそこへ追い打ちをかけるように、まさかの風邪。辛いです。
こんないつ完成するのかもわからないようなゲーム制作ですが、
応援して下さる方がいれば、感謝の気持ちを申し上げようと思います。