Path: chuka.playstation.co.uk!news1.scei.co.jp!usenet From: Hiroaki Suzuki Newsgroups: playstation.ny.program.beginner Subject: =?iso-2022-jp?B?GyRCJWklJCVzJTklLyVtITwlayRLJEQkJCRGGyhK?= Date: Sun, 18 May 1997 04:00:58 +0900 Organization: PlayStation Net Yarouze Lines: 31 Message-ID: <337E006A.5AEE@super.win.or.jp> NNTP-Posting-Host: 202.215.181.12 Mime-Version: 1.0 Content-Type: text/plain; charset=iso-2022-jp Content-Transfer-Encoding: 7bit X-Mailer: Mozilla 3.0 [ja] (Win95; I) ラインスクロールについてご相談したいのですが ラインスクロールじたいは完成しているのですが 以下のようなプログラムだと きちんとラインスクロールしているのですが スクロール中に下の方から一本の少々ずれた 線が出てしまいます。 原因はテーブルの振幅幅が 余りにも小さいために (プレステ準拠のために一周4096の円で 0-4096の振幅幅を返してくるようになっている) ラインが座標テーブルからデータを持ってくるときに 32個ずつ飛ばし読みしているせいだと思います。 かといって一個一個データを更新して 掛ける何倍かしても結局同じですし・・・。 どうにか上手な方法は有りませんか? for(i=0; i<240; i++) { sin = (Rsin(RastarCnt[i] % 4096)*16)>>12; // Rsin= 0-4095 RastarCnt[i] += 32; Sp0.v = Sp1.v = i; Sp0.x = sin-48; Sp1.x = sin+96; Sp0.y = Sp1.y = i; GsSortSprite(&Sp0, ActBuffPos, 10); GsSortSprite(&Sp1, ActBuffPos, 10); } #define Rsin(a) SinTbl[(a%4096)*512/4096] #define Rcos(a) SinTbl[((a+1024)%4096)*512/4096]