龍神録の館ついて

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

龍神録の館ついて

#1

投稿記事 by ひよこ » 16年前

Dixqさんへ
みょん弾幕をいじってたらきづいたのですが間違いですね。
//みょん弾幕
void shot_bullet_H007(int n){
        int t=shot[n].cnt;
        int k;
        if(t>=0 && t<=150 && t%10==0){
                for(int i=0;i<20;i++){
                        if(shot[n].flag!=2 && (k=shot_search(n))!=-1){
                                shot[n].bullet[k].knd   =7;
                                shot[n].bullet[k].angle =PI2/20*i;
                                shot[n].bullet[k].flag  =1;
                                shot[n].bullet[k].x     =enemy[shot[n].num].x+cos(PI/2+PI/150*t)*100;
                                shot[n].bullet[k].y     =enemy[shot[n].num].y+sin(PI/2+PI/150*t)*100;
                                shot[n].bullet[k].col   =2;
                                shot[n].bullet[k].cnt   =0;
                                shot[n].bullet[k].spd   =1.2;
                        }
                }
                for(int i=0;i<20;i++){
                        if(shot[n].flag!=2 && (k=shot_search(n))!=-1){
                                shot[n].bullet[k].knd   =7;
                                shot[n].bullet[k].angle =PI2/20*i;
                                shot[n].bullet[k].flag  =1;
                                shot[n].bullet[k].x     =enemy[shot[n].num].x+cos(PI/2-PI/150*t)*100;
                                shot[n].bullet[k].y     =enemy[shot[n].num].y+sin(PI/2-PI/150*t)*100;
                                shot[n].bullet[k].col   =4;
                                shot[n].bullet[k].cnt   =0;
                                shot[n].bullet[k].spd   =1.2;
                                se_flag[0]=1;
                        }
                }
        }
}

じゃなくて

//みょん弾幕
void shot_bullet_H007(int n){
        int t=shot[n].cnt;
        int k;
        if(t>=0 && t<=150 && t%10==0){
                for(int i=0;i<20;i++){
                        if(shot[n].flag!=2 && (k=shot_search(n))!=-1){
                                shot[n].bullet[k].knd   =7;
                                shot[n].bullet[k].angle =PI2/20*i;
                                shot[n].bullet[k].flag  =1;
                                shot[n].bullet[k].x     =enemy[shot[n].num].x+cos(PI/2+PI/150*t)*100;
                                shot[n].bullet[k].y     =enemy[shot[n].num].y+sin(PI/2+PI/150*t)*100;
                                shot[n].bullet[k].col   =2;
                                shot[n].bullet[k].cnt   =0;
                                shot[n].bullet[k].spd   =1.2;
                        }
                }
                for(int i=0;i<20;i++){
                        if(shot[n].flag!=2 && (k=shot_search(n))!=-1){
                                shot[n].bullet[k].knd   =7;
                                shot[n].bullet[k].angle =PI2/20*i;
                                shot[n].bullet[k].flag  =1;
                                shot[n].bullet[k].x     =enemy[shot[n].num].x-cos(PI/2-PI/150*t)*100;
                                shot[n].bullet[k].y     =enemy[shot[n].num].y+sin(PI/2-PI/150*t)*100;
                                shot[n].bullet[k].col   =4;
                                shot[n].bullet[k].cnt   =0;
                                shot[n].bullet[k].spd   =1.2;
                                se_flag[0]=1;
                        }
                }
        }
}
じゃないと実行結果みたいにならないです。

b

Re:龍神録の館ついて

#2

投稿記事 by b » 16年前

どこが違うのか、ソースだけではなく日本語での説明も加えたほうが親切だと思いますよ。

toyo

Re:龍神録の館ついて

#3

投稿記事 by toyo » 16年前

私が見比べたところ違うのは
shot[n].bullet[k].x     =enemy[shot[n].num].x-cos(PI/2-PI/150*t)*100;
だけでしょうか

ひよこ

Re:龍神録の館ついて

#4

投稿記事 by ひよこ » 16年前

わかりづらくてすみません、
shot[n].bullet[k].x =enemy[shot[n].num].x+cos(PI/2-PI/150*t)*100;が二つあって
二つの方向に別れないと言いたいのです。
よって
上のソースみたいになります。

Dixq (管理人)

Re:龍神録の館ついて

#5

投稿記事 by Dixq (管理人) » 16年前

ありがとうございます。すみません、明日見てみます;

yu

Re:龍神録の館ついて

#6

投稿記事 by yu » 16年前

あれ?・・・

回転方向が逆だから別れるのではないでしょうか?

ひよこ

Re:龍神録の館ついて

#7

投稿記事 by ひよこ » 16年前

ホームページには
shot[n].bullet[k].x =enemy[shot[n].num].x+cos(PI/2-PI/150*t)*100;が二つあって、
実際には
shot[n].bullet[k].x =enemy[shot[n].num].x+cos(PI/2-PI/150*t)*100;がひとつと
shot[n].bullet[k].x =enemy[shot[n].num].x-cos(PI/2-PI/150*t)*100;がひとつないと
別れないとそういう意味です。

ひよこ

Re:龍神録の館ついて

#8

投稿記事 by ひよこ » 16年前

yuさん
>>すみません。きっとわかりづらいでしょうね。
>>ホームページにあるソースを実行すればすぐに答えがわかると思います。

KY

Re:龍神録の館ついて

#9

投稿記事 by KY » 16年前

だからyuさんの言う通り、回転方向が逆だから+で問題無い。
やってみましたけど、コードに間違いはないですね。

それから指摘する時は「間違いですね」じゃなくて「ひょっとしたら間違いでしょうか?」
位の方が常識的ですね。

ひよこ

Re:龍神録の館ついて

#10

投稿記事 by ひよこ » 16年前

ソースを見てみるとひょっとしたら間違いでしょうか?
自分が間違いでした。
しかし、上のようにやって(ボスの弾幕にしてみると改造ミスです…
下のようなソースになったので・・・(まあよくいみもわからないまま・・・すみません
void boss_shot_bulletH031(){
#define TM031 200
    int i,k,t=boss_shot.cnt%TM030;

        if(t>=0 && t<=150 && t%10==0){
                for(int i=0;i<20;i++){
                   if((k=search_boss_shot())!=-1){
						boss_shot.bullet[k].col      = 2;//弾の色
						boss_shot.bullet[k].x     = boss.x+cos(PI/2+PI/150*t)*100;//座標
						boss_shot.bullet[k].y     = boss.y+sin(PI/2+PI/150*t)*100;
						boss_shot.bullet[k].knd   = 7;//弾の種類
						boss_shot.bullet[k].angle = PI2/20*i;//円形60個
						boss_shot.bullet[k].flag  = 1;
						boss_shot.bullet[k].cnt      = 0;
						boss_shot.bullet[k].spd      = 1.2;//スピード
						se_flag[0]=1;//発射音鳴らす
				   }
				}
                for(int i=0;i<20;i++){
                       if((k=search_boss_shot())!=-1){
                                boss_shot.bullet[k].col      = 4;//弾の色
						boss_shot.bullet[k].x     = boss.x-cos(PI/2+PI/150*t)*100;//座標
						boss_shot.bullet[k].y     = boss.y+sin(PI/2+PI/150*t)*100;
						boss_shot.bullet[k].knd   = 7;//弾の種類
						boss_shot.bullet[k].angle = PI2/20*i;//円形60個
						boss_shot.bullet[k].flag  = 1;
						boss_shot.bullet[k].cnt      = 0;
						boss_shot.bullet[k].spd      = 1.2;//スピード
                                se_flag[0]=1;
                        }
				}
		}
}
あとで簡単に考えてみると計算結果が同じになるようです。
だから同じ動きに見えて・・・
すみませんでした。

すずめ

Re:龍神録の館ついて

#11

投稿記事 by すずめ » 16年前

ひよこさんのいうようにやってみたら、
左半分しか描画されなかったです。
重なって描画されているんじゃないかと思って
ひとつだけPI/150をPI/140にしたら
みごとに重なって描画されました。
ひよこさんの勘違いみたいですね。

ひよこ

Re:龍神録の館ついて

#12

投稿記事 by ひよこ » 16年前

こんな勘違いで・・・いろいろとありがとうございます。
皆さん、本当にありがとうございました。

閉鎖

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