'■ ビ○リボンの背景のテスト '■ こんなのを市販ソフトで売る気満々のSCEに脱帽 screen 0 '--------------------------------------- '■ 各ブロックの定義 '--------------------------------------- '▼ 直線 setvertex 0,2 setvertex (-64,0,0),(64,0,0) setpolygon 0,1,0,,(0,1,0) '▼ 山 setvertex 1,5 setvertex (-64,0,0),(-32,0,0),(0,-64,0),(32,0,0),(64,0,0) setpolygon 1,4,1,,(0,1,0),,(1,2,0),,(2,3,0),,(3,4,0) '▼ 井戸 setvertex 2,6 setvertex (-64,0,0),(-32,0,0),(-32,64,0),(32,64,0),(32,0,0),(64,0,0) setpolygon 2,5,2,,(0,1,0),,(1,2,0),,(2,3,0),,(3,4,0),,(4,5,0) '▼ ループ setvertex 3,12 setvertex (-64,0,0),(-10,-8,0),(32,-29,0),(50,-55,0),(43,-80,0),(16,-95,0) setvertex (-17,-95,0),(-44,-80,0),(-51,-55,0),(-33,-29,0),(9,-8,0),(64,0,0) setpolygon 3,11,3,,(0,1,0),,(1,2,0),,(2,3,0),,(3,4,0),,(4,5,0),,(5,6,0) setpolygon ,(6,7,0),,(7,8,0),,(8,9,0),,(9,10,0),,(10,11,0) setatr 0,256,(6,1,3,0,32767,0) obj(1,@type)=6 '▼ 同時に使用するブロックの数 ' 3くらいにするとどんな風に処理しているかわかります(^^; blk = 7 '▼ はじめのブロックを用意する for i=2 to 2+blk-1 obj(i,@xs)=&h0.fffc,&h0.fffc,&h0.fffc obj(i,@atr)=0,rnd(4):obj(i,@parent)=1 obj(i,@xp)=c,0,0:obj(i,@type)=4 c=c+128 next '▼ スクロール(obj1を左に動かすだけ) obj(1,@xv)=-1 '----------------------------------------------- '■ メインルーチン '----------------------------------------------- *loop '▼ カメラを振る camera (xsin(u/600)*60,-80,-250) to (0,-40,0) u=(u+1)mod 600 '▼ ある程度スクロールしたら新しいブロックを追加する if -128*int(blk/2)-obj(1,@xp) >= obj(w+2,@xp) then obj(w+2,@xp)=c:c=c+128 obj(w+2,@polygon)=rnd(4) w=(w+1)mod blk endif vsync goto *loop