« HSPTV!メルマガ 第40号 | メイン | 【講座】HSP3ワンポイントテクニック 第21回 »

2007年05月30日

【講座】HSPよく使うフレーズ 第31回 青い宇宙の冒険

シューティングゲーム風のインターフェイスを作ってみたり、
弾(たま)を出したりしてると、突然宇宙が作りたくなった。

星が流れる背景はシューティングの基本!
青い宇宙は男のロマン!

なんつって、これは、昔のコンピュータの処理能力の問題。
最初のころはキレイな地形を動かしたりが難しかったんだよねぇ。

さて、宇宙はどうしたらうまくいく動くのかな?
と考えると、基本は配列を使う、と想像できる。

それから速度が何通りかあるといいな。
とか、そんな事を考える。

星をpsetでやってみると、ちょっとドットが小さいかな?
ということで、boxfで試す。
やっぱりちらつくのでredrawを入れてみる。

なんか沢山の星が動いてるなぁ。
星の数と画面のサイズは定数にしてみよう!
変数じゃなくて定数ね。
最初から決めちゃうヤツ。
定数はなぜか大文字。
これを300とかにすると・・・ちょっと最初に時間がかかる。

というわけで、キレイに動いたので今回はコレまで。

#define STAR_NUM 100
#define X_MAX 640
#define Y_MAX 480
dim sx,STAR_NUM
dim sy,STAR_NUM
dim ss,STAR_NUM
screen 0,X_MAX,Y_MAX
randomize
repeat STAR_NUM
sx(cnt)=rnd(X_MAX)
sy(cnt)=rnd(Y_MAX)
ss(cnt)=rnd(5)+1
loop
color 0,0,0:boxf
*top
redraw 0
color 0,0,0:boxf
repeat STAR_NUM
cc=50+((ss(cnt)-6)*200)
color cc,cc,cc
//pset sx(cnt),sy(cnt)
boxf sx(cnt),sy(cnt),sx(cnt)+2,sy(cnt)+2
sy(cnt)=sy(cnt)+ss(cnt)
if sy(cnt)>X_MAX:sy(cnt)=0
loop
redraw 1
await 10
goto *top
[star_move.hsp / hsp3用]

(うすあじ)

投稿者 usuaji : 2007年05月30日 22:19

口臭チェッカー市場

コメント